代码之家  ›  专栏  ›  技术社区  ›  erotavlas

Pandas dataframe-将N行数从一个dataframe移动到另一个dataframe

  •  0
  • erotavlas  · 技术社区  · 4 年前

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

    首先,我使用以下命令将训练集中的行随机分配

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

    test_df

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

    Pandas dataframe - move rows from one dataframe to another

    Pandas move rows from 1 DF to another DF

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

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

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

    test_df.append(transferdata_df)
    

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

    1 回复  |  直到 4 年前
        1
  •  1
  •   BENY    4 年前

    让我们来吧

    transferdata_df = train_df.iloc[- 245:, 0:]
    
    test_df = test_df.append(transferdata_df)
    
    train_df =train_df.drop(transferdata_df.index)