Pandas:具有最多唯一值的 select 列

Pandas: select column with most unique values

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

到目前为止,这是我的代码:

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

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

使用DataFrame.select_dtypes with np.number, then get DataFrame.nunique with column by maximal value by Series.idxmax:

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