首页 > 解决方案 > Pandas 数据框 - 将 N 行从一个数据框移动到另一个数据框

问题描述

我有一个用于机器学习的训练集和测试集,但是训练集包含的数据行太多,而测试集包含的数据太少。我计算出我需要将 245 行从训练集移动到测试集以产生更好的分割。我怎样才能做到这一点?我在训练集中总共有 5116 行。

首先,我使用这个随机化了训练集的行

train_df = train_df.sample(n = len(train_df)).reset_index(drop=True)

然后我想抓取最后 245 行并将它们移动到test_df

我在这里找到了这两个解决方案

Pandas 数据框 - 将行从一个数据框移动到另一个数据框

Pandas 将行从 1 个 DF 移动到另一个 DF

但是,他们正在根据我没有的条件选择行。如果可能的话,我有点想像在 python 中对数组使用 slice 那样做。

也许像(第 0-5116 - 245 行和从 0 开始的所有列)

transferdata_df = train_df.iloc[5115 - 245:, 0:]

然后将其附加到测试集,如

test_df.append(transferdata_df)

我不确定这是否是正确的方法。

标签: pythonpandasdataframe

解决方案


让我们做

transferdata_df = train_df.iloc[- 245:, 0:]

test_df = test_df.append(transferdata_df)

train_df =train_df.drop(transferdata_df.index)

推荐阅读