2016-03-29 10 views
2

複数のインデックスを持つDataFrameがある場合、繰り返しインデックスを組み合わせて値をコンマ区切りのリストとして表示したいと考えています。例えば、入力:Multiindex DataFrameの行をコンマで区切られたリストに結合する

df = pd.DataFrame({'Last Name' : ['Deere','Deere','Foo' ,'Foo' ,'Man' ], 
        'First Name': ['John' ,'Jane' ,'Kung' ,'Kung' ,'Karate'], 
        'Value1':  [ 1  , 2  , 3  , 4  , 5  ], 
        'Value2':  ['Green','Blue' ,'Yellow','Black','Purple']}) 

df.set_index(['Last Name','First Name'],inplace=True) 

は提供:

      Value1 Value2 
Last Name First Name  
Deere  John   1   Green 
      Jane   2   Blue 
Foo   Kung   3   Yellow 
      Kung   4   Black 
Man   Karate  5   Purple 
私は、次のデータフレームにこれを変換したい

astypeによってstring

      Value1 Value2 
Last Name First Name  
Deere  John   1   Green 
      Jane   2   Blue 
Foo   Kung   3,4  Yellow,Black 
Man   Karate  5   Purple 

答えて

1

あなたが最初に変換することができます列Value1 、次にgroupbyレベルでLast NameFirst Nameaggjoin

df['Value1'] = df['Value1'].astype(str) 
result = df.groupby(level=['Last Name','First Name'], sort=False).agg(','.join) 
print result 
        Value1  Value2 
Last Name First Name      
Deere  John   1   Green 
      Jane   2   Blue 
Foo  Kung   3,4 Yellow,Black 
Man  Karate   5  Purple 
関連する問題