web-dev-qa-db-ja.com

pandasの新しいデータフレームとして複数の列の一意の値を取得します

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>
11
Ofek Ron

私はあなたが必要だと思います drop_duplicates すべての一意のトリプルが必要な場合:

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

groupbyを使用したい場合は、追加 first

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