Python 如何对熊猫中数据帧的值进行分类?
我试图编写一段代码,使用python库根据值范围对数据集(来自CSV)进行分类。可以使用聚合函数。但我正在努力使用聚合函数Python 如何对熊猫中数据帧的值进行分类?,python,pandas,aggregation,Python,Pandas,Aggregation,我试图编写一段代码,使用python库根据值范围对数据集(来自CSV)进行分类。可以使用聚合函数。但我正在努力使用聚合函数 +-------------+-------------+-------------+-------------+-------------+ |Name | Age |Region |Telephone |Address | +-------------+-------------+---
+-------------+-------------+-------------+-------------+-------------+
|Name | Age |Region |Telephone |Address |
+-------------+-------------+-------------+-------------+-------------+
| | | | | |
我可以开发以下代码
import pandas as pd
data_frame = pd.read_csv('5000 Records.csv')
data_frame['age_range'] = pd.cut(data_frame['Age in Yrs.'],
bins=[-float('inf'),30,50,float('inf')],
labels=['above', 'in between', 'below'])
data_frame = data_frame.groupby(['Region','age_range']).agg(
{
'age_range': "count"
}
)
print(data_frame)
但结果如下
age_range
Region age_range
Midwest above 312
in between 695
below 390
Northeast above 201
in between 421
below 219
South above 435
in between 983
below 452
West above 211
in between 443
below 238
但要求得到的输出为:
+-------------+-------------+-------------+-------------+
|Region | above |in between |below |
+-------------+-------------+-------------+-------------+
| | | | |
有人能帮我做这件事吗?先走一步 尝试
DataFrame.pivot
方法:
data_frame.pivot(index='Region', columns='age_range', values='count')
与简化groupby
解决方案一起使用-删除agg
并添加
用于排除缺失值的计数,此处两种解决方案工作相同,因为age\u range
用于groupby
中的by
参数:
df = data_frame.groupby(['Region','age_range']).size().unstack(fill_value=0)
或使用:
你好,UpaniK,你能给我看一下你的分组前数据样本吗?年龄列中充满了18-60之间的浮点值。非常感谢你的回复!!!但这是一个错误
KeyError:'count'
ValueError:“age\u range”既是索引级别又是列标签,这是不明确的。
执行此方法时发生此错误!
df = pd.crosstab(data_frame['Region'], data_frame['age_range'])