将变量存储为另一个变量的属性是一种好的做法吗?

2024-04-24 10:53:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始将变量(如X\u train、y\u train、X\u test、y\u test)存储为其完整数据帧的属性。当我同时使用多个数据集时,它帮助我组织不同的训练和测试数据集。这通常被认为是好的/可以的做法吗?举个例子:

我最初的理解是:

X_train, X_test, y_train, y_test = train_test_split(some_dataframe[features],\
    some_dataframe[target]

我最近开始这样做:

some_dataframe.X_train, some_dataframe.X_test,\
    some_dataframe.y_train, some_dataframe.y_test = \
    train_test_split(some_dataframe[features], some_dataframe[target]

Tags: 数据testtargetdataframe属性trainsome例子
1条回答
网友
1楼 · 发布于 2024-04-24 10:53:50
<> >太长了,读不下去了,如果你找不到一个真的好的理由,避免合并。< /强>

我认为你所做的是所谓“坏机会”的一部分。你知道吗

由于我不知道你选择的所有细节,我并不是说这是个坏主意,但你对问题的描述似乎指向了一个关于将不同数据源合并在一起的常见问题。你知道吗

你想要的是把你所有的数据重新组合成一个数据结构,把它们与其他数据源区分开,所以我想你为什么不使用一些已经可用的数据,为什么不使用我刚才使用的这个“模糊相关”的数据框呢?你知道吗

但是你应该扪心自问,为什么这个数据结构与你想要实现的目标相关?什么使它成为正确的数据结构?你要用这个数据框以前的数据和新的数据吗?或者你只是因为“在那里”才选择这个结构?你知道吗

如果您没有理由专门使用这个数据帧,我只需要创建一个新的数据结构,可能一个字典就足够了。 在您的具体案例中,一些原因是:

  1. 一个数据帧可能是你所寻找的东西的一个超调量。

  2. 通过将不同的东西放在一起(例如,现在您的数据帧的维度是多少),您失去了以前数据帧的一些好的属性?有几排?)

  3. 人们/你可能会混淆数据框架的不同部分。例如,当您改变数据时,您确定您知道转换将应用于哪个数据吗?您是否还记得哪些数据是“原始”数据框的一部分,以及之后添加了哪些数据?

总之,在一个结构(概念)中融合不同的数据(或一般的想法)总是有风险的,你应该总是有充分的理由,而不仅仅是因为你可以。你知道吗

附言:把评论中的问题@roganjosh看作是一个很好的例子,说明当你开始把原本不该有的东西放在一起的时候出现的问题。你知道吗

相关问题 更多 >