过滤熊猫数据框中具有唯一值的列的列

问题描述 投票:-1回答:2

我有一个非常大的数据框,包含2000多个列。我正在尝试计算每列的唯一值的数量,并过滤出具有特定值以下的唯一值的列。这是一个例子:

import pandas as pd
df = pd.DataFrame({'A': ('a', 'b', 'c', 'd', 'e', 'a', 'a'), 'B': (1, 1, 2, 1, 3, 3, 1)})
df.nunique()
A      5
B      3
dtype: int64

所以可以说我想过滤出具有小于5个唯一值的B列,并返回不包含B列的df。

感谢-

python pandas dataframe uniq
2个回答
1
投票

其他人可能有更Python化的方式。尝试一下,看看是否可行。

x = df.nunique()
df[list(x[x>=5].index)]

1
投票

通过.loc

df=df.loc[:,df.nunique()>3]
   A
0  a
1  b
2  c
3  d
4  e
5  a
6  a
© www.soinside.com 2019 - 2024. All rights reserved.