簡體   English   中英

在 Pandas 數據框中過濾具有多個唯一值的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM