在两列上的分组依据,在Pandas Dataframe中其中一个具有bin(范围)

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

[我正在尝试根据某些用户属性将数据隔离到存储桶中,我希望看到每个存储桶中的计数。为此,我已将这些数据导入了Pandas Dataframe。

我有包含用户所在城市,孩子年龄及其唯一ID的数据。我想知道居住在A城市并且有0-5岁年龄段的孩子的用户数量。

样本数据框看起来像这样:

city  kids_age  user_id
A         10       1  
B          4       2
A          4       3        
C          8       4
A          3       5 

预期输出:

city   bin   count
A      0-5      2 
       5-10     1

B      0-5      1
       5-10     0

C      0-5      0
       5-10     1

我尝试了按城市和孩子年龄划分的两列分组方式:

user_details_df_cropped_1.groupby(['city', 'kids_age']).count()

它给了我一个看起来像这样的输出:

city  kids_age  user_id   count
 A      10       1          1
         4       3          1
         3       5          1
 B       4       2          1 
 C       8       4          1

我返回给我按城市分组的用户,但实际上不是按孩子年龄段(范围)分组的用户。我在这里想念什么?感谢帮助!

pandas dataframe python-3.7
1个回答
0
投票

使用cut进行装箱,传递到cut,然后将DataFrame.groupby行添加到DataFrame.groupby0最后由DataFrame.stack转换为DataFrame.stack

DataFrame.unstack

[具有DataFrame.unstackDataFrame的另一种解决方案,用于添加由Series.reset_index填充的添加错误行:

Series.reset_index
© www.soinside.com 2019 - 2024. All rights reserved.