[英]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函数。
使用groupby.cumcount
分配密钥k
并groupby.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.