2016-09-27 6 views
1

は最高入力し、必要な出力フォーマットを参照するリンクの画像を見ると、私が求めていグループ独自の0番目の要素

enter image description here

以下の説明をお読みください一意の第1要素(すなわち第2列)ごとに、すべての一意の第0要素がグループ化され、出力csv行の構造が次のようにグループ化される新しいcsvを作成する: 一意の第1要素、ユニーク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

ありがとう@マックス!並べ替えは正常に動作します。追加された文字に小さな問題があります。ソートされた0番目の要素が二重引用符( ")で出力されています。コードが大いに役立った! – WhyNot

関連する問題