【问题标题】:Pandas: select column with most unique valuesPandas:选择具有最多唯一值的列
【发布时间】:2023-03-31 18:00:01
【问题描述】:

我有一个 pandas DataFrame 并想找到选择具有最独特值的列。 我已经用 nunique() 过滤了唯一值。我现在如何选择具有最高 nunique() 的列?

这是我目前的代码:

numeric_columns = df.select_dtypes(include = (int or float))
    unique = []
    for column in numeric_columns:
        unique.append(numeric_columns[column].nunique())

我稍后需要根据此列过滤我的数据框的所有列(大多数唯一)

【问题讨论】:

  • 哦,作为唯一的输出,我得到 [84, 77, 35, 84] 所以我应该选择第一个“84”

标签: python pandas unique multiple-columns


【解决方案1】:

DataFrame.select_dtypesnp.number 一起使用,然后通过Series.idxmax 的最大值得到DataFrame.nunique

df = pd.DataFrame({'a':[1,2,3,4],'b':[1,2,2,2], 'c':list('abcd')})
print (df)
   a  b  c
0  1  1  a
1  2  2  b
2  3  2  c
3  4  2  d

numeric = df.select_dtypes(include = np.number)

nu = numeric.nunique().idxmax()
print (nu)
a

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2019-11-06
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 2013-10-14
    • 1970-01-01
    • 2012-12-06
    相关资源
    最近更新 更多