Pandas:获取特定数据类型的 value_count

问题描述 投票:0回答:1

如何检索特定数据类型的值计数? 尝试了几种使用索引标签的方法,最终出现关键错误。

为了获得结果,最终创建了一个新的数据框,其中数据类型名称作为列名称,应该有其他有效的方法。

df =pd.DataFrame(\[\['Bob', 20, 2\],\['Alice', 19, 3\],\['Joshua', 22, 1\]\], columns = \['Name', 'Age', 'Marks'\])
print(df.dtypes.value_counts())

strIndex = strdtypes.keys().tolist()
strIndex = \[str(d) for d in strIndex\]

df1 =pd.DataFrame({'datatype':strIndex, 'valuecount':strdtypes})
count =df1\[df1\['datatype'\]=='int64'\]\['valuecount'\]
print ("count int64 ", count)\
pandas dataframe indexing series
1个回答
0
投票

您的问题是,当您这样做时:

counts = df.dtypes.value_counts()

counts
的索引由
dtype
对象组成。为了能够轻松访问这些值,您需要将索引转换为对象的字符串表示形式,您可以通过其 name 属性进行访问。例如:

df = pd.DataFrame(
    [['Bob', 20, 2],['Alice', 19, 3],['Joshua', 22, 1]],
    columns = ['Name', 'Age', 'Marks']
)
counts = df.dtypes.value_counts()
counts.index = [dt.name for dt in counts.index]
print(counts['int64'], counts['object'])

输出:

2 1
© www.soinside.com 2019 - 2024. All rights reserved.