数据框 X:
A B C D
V1 V2 V3 V4
V1 V3 V4 V5
V1 V4 V5 V5
V1 V5 V9 V5
V1 V2 V3 V4
V1 V10 V11 V12
V1 V10 V6 V8
V1 V12 V7 V8
Run Code Online (Sandbox Code Playgroud)
这里 Col A 有 1 个唯一值,Col B 有 6 个唯一值,Col C 有 7 个唯一值,Col D 有 4 个唯一值。
我需要一个包含唯一值 > 4 的所有列的列表。
X.columns[(X.nunique() > 4).any()]
Run Code Online (Sandbox Code Playgroud)
我希望在这里只得到 col B 和 Col C,但我得到了所有列。如何实现所需的输出。
你真的很接近,只删除.any布尔掩码:
c = X.columns[(X.nunique() > 4)]
print (c)
Index(['B', 'C'], dtype='object')
Run Code Online (Sandbox Code Playgroud)
如果需要选择列使用DataFrame.loc:
df = X.loc[:, (X.nunique() > 4)]
print (df)
B C
0 V2 V3
1 V3 V4
2 V4 V5
3 V5 V9
4 V2 V3
5 V10 V11
6 V10 V6
7 V12 V7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |