import pandas as pd
df = pd.DataFrame({'a':[1,2,3,4],'b':['a','b','d','d'],'c':['v','v','g','w']})
print(df.apply(lambda x: x.unique().shape[0]))
上記のコードは、各列に一意の値の数を出力します。'object'タイプの列に対してのみ一意の値の数を出力したい。
'オブジェクト'列のみをフィルタリングする方法はありますか
あなたは使用することができるselect_dtypes()
よう@JulianCienfuegosはすでにと一緒に述べているnunique() :
In [9]: df.select_dtypes(include=['object']).apply(lambda x: x.nunique())
Out[9]:
b 3
c 3
dtype: int64
以下のよう@rootはパンダ0.20.0で始まるコメントで追加されました、使用することが可能なはずですDataFrame.nunique()
。
df.select_dtypes(include=['object']).nunique()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加