gpt4 book ai didi

numpy - 在 Pandas 中获取所有分类列的优雅方法?

转载 作者:行者123 更新时间:2023-12-03 23:23:13 25 4
gpt4 key购买 nike

有没有办法在 Pandas 中获取所有分类变量?我知道的最好方法是遍历所有列并检查 dtype是绝对的。

最终,我想要一个单线来绘制所有分类变量的所有条形图。

最佳答案

使用 select_dtypes 并通过 'category'作为过滤df所依据的类型,这将返回dtype所在的所有列。匹配这个:

In [9]:
df = pd.DataFrame({'a': np.random.randn(6),
'b': [True, False] * 3,
'c': [1.0, 2.0] * 3})
df.info()

<class 'pandas.core.frame.DataFrame'>
Int64Index: 6 entries, 0 to 5
Data columns (total 3 columns):
a 6 non-null float64
b 6 non-null bool
c 6 non-null float64
dtypes: bool(1), float64(2)
memory usage: 150.0 bytes

In [10]:
df['a'] = pd.Categorical(df['a'])
df['c'] = pd.Categorical(df['c'])
df.info()

<class 'pandas.core.frame.DataFrame'>
Int64Index: 6 entries, 0 to 5
Data columns (total 3 columns):
a 6 non-null category
b 6 non-null bool
c 6 non-null category
dtypes: bool(1), category(2)
memory usage: 130.0 bytes

In [11]:
df.select_dtypes(['category'])

Out[11]:
a c
0 1.295878 1
1 -1.230722 2
2 0.340209 1
3 -0.277246 2
4 -2.336386 1
5 0.363829 2

关于numpy - 在 Pandas 中获取所有分类列的优雅方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36107946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com