【问题标题】:Using pandas dataframe, how to copy selected fragment data to other locations in the same dataframe使用 pandas 数据框,如何将选定的片段数据复制到同一数据框中的其他位置
【发布时间】:2021-02-28 10:37:45
【问题描述】:

我有一个如下所示的数据框:
[在此处输入图片说明][1]

我想把它改成:
[在此处输入图片描述][2] 我使用命令:

outer[outer['_merge'] == "right_only"].iloc[:,0:columnsize-1] = outer[outer['_merge'] == "right_only"].iloc[: , columnsize:columnsize*2-1].copy() 

好像不行。如何在数据框中进行切片复制?
[1]:https://i.stack.imgur.com/Fpttc.png [2]:https://i.stack.imgur.com/mECIm.png

【问题讨论】:

    标签: python dataframe slice


    【解决方案1】:

    这个问题比我预想的要难。我通过搜索网页找不到简单的方法,所以我可以转向繁琐的模式。解决方法如下:

    ...
    columnsize = outer.shape[1] // 2  
    leftonly = outer[outer['_merge'] == "left_only"].copy()
    column_numbers = [x + columnsize for x in range(columnsize - 1)]
    leftonly.drop(leftonly.columns[column_numbers], axis=1, inplace=True)
    column_numbers2 = np.append(column_numbers, [columnsize - 1, columnsize * 2 - 1])
    rightonly1 = outer[outer['_merge'] == "right_only"].copy()
    rightonly2 = rightonly1.iloc[:, column_numbers2].copy()
    rightonly2.columns = leftonly.columns
    df_combined = pd.concat([leftonly, rightonly2], axis=0, ignore_index=True
    ...
    

    结果如下:
    enter image description here

    【讨论】:

      猜你喜欢
      • 2020-12-30
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多