2017-12-17 16 views
2

の形状を変更することはできません。パンダピボット:インデックスは、重複したエントリが含まれ、このデータフレームを考える

import pandas as pd 
df=pd.DataFrame({'Field':['a','b','a','b'],'Value':['aa','bb','cc','dd'], 
'indexer':[0,0,1,1]}) 

df 
    Field Value indexer 
0  a aa  0 
1  b bb  0 
2  a cc  1 
3  b dd  1 

私はこのようなデータフレームを生成します:

indexer a b 
0   aa bb 
1   cc dd 

私は答えを見てきました値フィールドが数値のときにどのようにこれを達成するかについては、私は文字列データでこれを動作させることはできないようです。

私はdf.groupby( 'indexer')を試しましたが、それを表示したり、データフレームに入れることができませんでした。私はこれらの答えを見つけましたが、浮動小数点または整数値を前提としています。

ありがとうございます!

答えて

2

あなたの本当のデータはFieldindexerペアで重複が含まれている問題は、そう', '.joinのようないくつかの集約関数が必要です、があるのでstring秒で作業:

df = df.groupby(['indexer', 'Field'])['Value'].apply(', '.join).unstack() 
print (df) 
Field  a b 
indexer   
0  aa bb 
1  cc dd 

または:

df = df.pivot_table(index='indexer', columns='Field', values='Value', aggfunc=','.join) 
+1

ありがとう: - )、私はあなたの答えを見たときに参加する必要があることに気付かなかった、私の友人に感謝:-) – Wen

関連する問題