2016-09-27 27 views
1

請參閱在鏈接的形象最好看的輸入和輸出要求的格式和閱讀以下集團獨特的零元素在Python或蜂巢獨特的第i個元素

enter image description here

我試圖說明取一個3(或2)列csv並創建一個新的csv,其中對於每個唯一的第一個元素(即第二列),所有唯一的第0個元素被分組,以便輸出csv行的結構如此: 唯一的第一個元素,獨特的0個元素#1,獨特的0個元素#2,...

使用Python 3.xo r Python 2.x或Hive或SQL。非常感謝任何建議。謝謝!

+2

提供的數據爲文本。 – Ambrish

回答

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 
+0

謝謝@MaxU !!!排序工作正常。有一個小問題,添加字符bc排序的第0個元素用雙引號輸出(「) 這不是我原來的文章,我可以在之後修復,但理想情況下,輸出CSV不會添加字符。代碼幫助了很多! – WhyNot