Python 如何对熊猫中数据帧的值进行分类?

Python 如何对熊猫中数据帧的值进行分类?,python,pandas,aggregation,Python,Pandas,Aggregation,我试图编写一段代码,使用python库根据值范围对数据集(来自CSV)进行分类。可以使用聚合函数。但我正在努力使用聚合函数 +-------------+-------------+-------------+-------------+-------------+ |Name | Age |Region |Telephone |Address | +-------------+-------------+---

我试图编写一段代码,使用python库根据值范围对数据集(来自CSV)进行分类。可以使用聚合函数。但我正在努力使用聚合函数

    +-------------+-------------+-------------+-------------+-------------+
    |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'])