获取多列的唯一值作为pandas中的新数据帧

时间:2018-01-06 20:53:59

标签: python pandas pandas-groupby

让pandas数据框df至少包含C1,C2,C3列,您如何将所有唯一的C1,C2,C3值作为新的DataFrame?

换句话说,类似于:

SELECT C1,C2,C3
FROM T
GROUP BY C1,C2,C3

试过那个

print df.groupby(by=['C1','C2','C3'])

但即将到来

<pandas.core.groupby.DataFrameGroupBy object at 0x000000000769A9E8>

1 个答案:

答案 0 :(得分:11)

如果想要所有独特的三元组,我相信你需要drop_duplicates

df = df.drop_duplicates(subset=['C1','C2','C3'])

如果要使用groupby添加first

df = df.groupby(by=['C1','C2','C3'], as_index=False).first()