グループ化してグループの最初の要素の値を取得したいデータフレーム(「csv」と呼びましょう)があります。例:
A B C D
foo bar happy yellow
foo bar sad green
foo ape last laugh
私はこれを出力として欲しい:
A B C
foo bar happy
foo ape last
私は現在これを行っています:
grp1 = csv.groupby(['A','B'])
lst = [(A,B,csv.ix[group[0]]['C']) for (A,B),group in grp1.groups.items()]
df = DataFrame(lst,columns=['A','B','C'])
df.to_csv('grp.csv',cols=['A','B','C'],index=False)
しかし、これは非効率的なようです。最初にリストを作成してdataframe
から、そこからリストを作成する必要がありますか?直接作成する方法dataframe
や、オリジナルに何らかのインデックスを付けてdataframe
、各グループの最初のレコードを操作できるようにする方法はありませんか?