繁体   English   中英

创建csv文件,如果文件名相同,则将数据附加到列中

[英]to create csv file and append data according into the column if name of the file is same

我的数据是使用分隔符“,”逐行生成的,并且创建并附加了csv文件。我的数据看起来有四列:

Image   Maxval   locx  locy
123.jpg  0.99     56     78
223.jpg  0.95     54     71
221.jpg  0.93     54     77
123.jpg  0.92     66     77
223.jpg  0.94     56     79
221.jpg  0.97     57     72

现在,如果图像名称相同,那么我想将数据追加到列中,因此它看起来应该像

Image   Maxval   locx  locy   Maxval  locx   locy
123.jpg  0.99     56     78    0.92     66     77
223.jpg  0.95     54     71    0.94     56     79
221.jpg  0.93     54     77    0.97     57     72

在这里,我很困惑,应该使用数据帧或某些csv函数。

在此处输入图片说明 照片显示了Maxval_1列已排序,但其他Maxval_2,maxval_3和Maxval_4列未排序

使用groupby.cumcount分配密钥kgroupby.cumcount unstack

m=(df.assign(k=(df.groupby('Image').Maxval.cumcount()+1))
.set_index(['Image','k']).unstack().sort_values('k',axis=1).reindex(df.Image.unique())
m.columns=['_'.join(map(str,i)) for i in m.columns]
print(m)

         Maxval_1  locx_1  locy_1  Maxval_2  locx_2  locy_2
Image                                                      
123.jpg      0.99      56      78      0.92      66      77
223.jpg      0.95      54      71      0.94      56      79
221.jpg      0.93      54      77      0.97      57      72

如果可以选择将它们存储为值列表,请始终将其追加到列表中,因为在存储为CSV文件时不建议使用相同的列名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM