将行作为新列附加到另一个数据帧pandas/python中



我有一个for循环在输入数据帧中的行上迭代。对每一行进行搜索。输出返回5行,我想将这些行附加为输入数据帧的新列。

duplicate_materials  
0  [BIAS CUT FABRIC 50 X 1600 MM, RBN20 (000000000001065341)]   
1  [BIAS CUT FABRIC 40 X 1600 MM, RBN20 (000000000001061715)]   
2  [BIAS CUT  FABRIC 40 X 1100 MM, RBN20 (000000000001059946)]  
3  [BIAS CUT FABRIC 40 X 1200 MM, RBN20 (000000000001059947)]   
4  [BIAS CUT  FABRIC 50 X 1300 MM (000000000001005101)] 

这5行应该作为5个新列附加到输入数据帧中搜索到的行中。在下面的数据帧中,上面的5行应该列在第一列后面,以显示这是搜索的结果。

material_id material_description    duplicate_materials_0   duplicate_materials_1   duplicate_materials_2   duplicate_materials_3   duplicate_materials_4
1   000000000001065341  FABRIC CUT BIAS, RBN20 50 X 1600 MM 

编辑:通过解决

for i, row in results.iterrows():
df_test[f'duplicate_materials_{i}'] = results['duplicate_materials'][i]

duplicate_materials列是否为dtype对象?这对于将列表插入单个单元格是必要的。您可以使用以下命令进行检查:

df.dtypes

如果没有,则可以手动设置数据类型。

df['duplicate_materials'] = df['duplicate_materials'].astype('object')

更多细节:Python Panda将列表插入单元格

附言:您提到使用for循环对行进行迭代。也许可以通过将搜索操作应用于整个数据帧来避免这种情况。

相关内容

  • 没有找到相关文章

最新更新