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

Python 如果文件名相同,则创建csv文件并将数据追加到列中,python,python-3.x,pandas,dataframe,export-to-csv,Python,Python 3.x,Pandas,Dataframe,Export To Csv,我的数据使用分隔符“”按行生成,并创建和附加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 现在,如果图像名称相同,那么我想

我的数据使用分隔符“”按行生成,并创建和附加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未排序。如果您有选项,请将它们存储为值列表,始终将它们附加到列表中,因为在存储为
CSV
文件时不建议使用相同的列名。请使用指定键
k
,并且:



我想把它们存储回csv文件,怎么做它工作了,但我的数据现在被分类了,怎么做?@krupalimitry只需添加
。reindex(df.Image.unique())
,更新了我的code@anky_91在代码的第一行中,
Maxval
不是必需的,对吗?我们可以直接在
Image
列上
cumcount
。只是想了解解决方案是如何工作的。@Ansys,没错。我在测试后忘记了编辑。有时我会使用@anky_91,它工作了,但在数据排序之前,现在它的notaded
.reindex(df.Image.unique()
添加到相同的代码中,它现在满足了预期的性能output@anky_91它只对第一部分进行排序,只对Maxval_1而不是Maxval_2、Maxval_3和Maxval进行排序_4@anky_91我尝试了m.columns.sort_值('Maxval',升序=False)但是它不起作用。我没有跟踪,预期的输出和我的代码生成的输出是一样的。当你说没有排序时,你能解释一下吗。谢谢
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