gpt4 book ai didi

pandas - 如何使用 Pandas 计算分类特征的数量?

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

我有一个 pd.DataFrame其中包含不同的 dtypes 列。我想要每种类型的列数。我使用 Pandas 0.24.2。

我试过:

    dataframe.dtypes.value_counts()

它适用于其他 dtypes (float64, object, int64)但出于一个奇怪的原因,它没有聚合“类别”功能,并且我为每个类别获得了不同的计数(好像它们会被视为不同的 dtype 值)。

我也试过:
    dataframe.dtypes.groupby(by=dataframe.dtypes).agg(['count'])

但这引发了一个

TypeError: data type not understood.



可复制的例子:
import pandas as pd

df = pd.DataFrame([['A','a',1,10], ['B','b',2,20], ['C','c',3,30]], columns = ['col_1','col_2','col_3','col_4'])

df['col_1'] = df['col_1'].astype('category')
df['col_2'] = df['col_2'].astype('category')

print(df.dtypes.value_counts())

预期结果:
    int64       2
category 2
dtype: int64

实际结果:
    int64       2
category 1
category 1
dtype: int64

最佳答案

正如@jezrael 提到的,它在 0.25.0 中已被弃用,dtypes.value_counts(0)会给两个 category ie,所以要修复它:

print(df.dtypes.astype(str).value_counts())

输出:
int64       2
category 2
dtype: int64

关于pandas - 如何使用 Pandas 计算分类特征的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57213786/

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