请在链接中查看图像,以便最好地查看输入和所需的输出格式,并阅读下面的说明
我正在寻找一个3(或2)列csv并创建一个新的csv,其中对于每个唯一的第一个元素(即第二列),所有唯一的第0个元素被分组,因此输出csv行的结构是因此: 唯一的第一个元素,唯一的第0个元素#1,唯一的第0个元素#2,...
使用Python 3.x或Python 2.x或Hive或SQL。非常感谢任何建议。谢谢!
答案 0 :(得分:1)
你可以这样做:
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')
....: )
output.csv:
c2,unique
p1,1
p2,"1,2"
p3,"2,3"
p4,3
p5,3