2
我有一个数据框(我们称之为“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
上进行某种索引或某种操作,以便我可以使用每组中的第一条记录?