在python或hive中将csv的唯一第0个元素分组为唯一的第i个元素

zbsbpyhn  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(339)

请参阅链接中的图片,以最好地查看输入和所需的输出格式,并阅读下面的说明

我正在寻找一个3(或2)列csv并创建一个新的csv,其中对于每个唯一的第1个元素(即第2列),所有唯一的第0个元素都被分组,以便输出csv行的结构如下:唯一的第1个元素、唯一的第0个元素#1、唯一的第0个元素#2,。。。
使用Python3.x或Python2.x或hive或sql。非常感谢您的建议。谢谢您!

rn0zuynd

rn0zuynd1#

你可以这样做:

In [34]: df
Out[34]:
    c1  c2
0    1  p1
1    1  p1
2    1  p2
3    2  p2
4    2  p3
5    3  p3
6    3  p3
7    3  p3
8    3  p4
9    3  p4
10   3  p5

In [36]: (df.groupby('c2')['c1']
   ....:    .apply(lambda x: ','.join(x.unique().astype(str)))
   ....:    .to_frame('unique').to_csv(r'D:/temp/output.csv')
   ....: )

输出.csv:

c2,unique
p1,1
p2,"1,2"
p3,"2,3"
p4,3
p5,3

相关问题