Dataframe:
one two
a 1 x
b 1 y
c 2 y
d 2 z
e 3 z
grp = DataFrame.groupby('one')
grp.agg(lambda x: ???) #or equivalent function
grp.agg的期望输出:
one two
1 x|y
2 y|z
3 z
在整合数据框之前,我的聚合函数是"|".join(sorted(set(x)))
。理想情况下,我希望组中有任意数量的列,并且agg返回每个列项目的"|".join(sorted(set())
,就像上面的两个一样。我还尝试了np.char.join()
。
热爱Pandas,它让我从一个800行的复杂程序变成了400行轻松愉快的散步。谢谢你:)
grp2.agg(lambda x: u"|".join(sorted(set(map(str, x.tolist())))))
。感谢您向我展示如何真正使用数组!哪里有好的参考资料?再次感谢。 - brian_the_bungler