[英]Filter columns with number of unique values in a pandas dataframe
我有一個非常大的數據框,有 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。
謝謝-
通過.loc
df=df.loc[:,df.nunique()>3]
A
0 a
1 b
2 c
3 d
4 e
5 a
6 a
其他人可能有更pythonic的方式。 試試這個,看看它是否有效。
x = df.nunique()
df[list(x[x>=5].index)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.