我有一个数据帧,我正在尝试生成此查询:
“哪些地区老年人感染率较高(从55岁开始),哪些地区年轻人感染率较高(到30岁),哪些地区成年人感染率较高(31;54%)”
让我们澄清任何问题,第一个问题的意思是-->;获取55岁以上人口数量占其他年龄人口比例最大的地区,因此它应该给我一个地区列表。 类似地,其他两个问题是相同的,但年龄范围不同
我的数据框如下所示:
Unnamed: 0 state sex diag death status T.categ age
0 1 NSW M 10905 11081 D hs 35
1 2 NSW M 11029 11096 D hs 53
2 3 NSW M 9551 9983 D hs 42
3 4 NSW M 9577 9654 D haem 44
4 5 NSW M 10015 10290 D hs 39
... ... .. ... ... ... ... ...
2838 2839 Other M 11475 11504 A het 46
2839 2840 Other F 11420 11504 A het 34
2840 2841 Other M 11496 11504 A haem 49
2841 2842 Other M 11460 11504 A hs 55
2842 2843 Other M 11448 11504 A hs 37
[2843 rows x 8 columns]
我的解决方案是生成一个如下所示的数据帧:
(0, 30] (30, 54] (54, 200]
NSW 45 ...
VCI 234 ...
... 535
Other 56
有了这一点,就可以更容易地比较哪一个州的数量范围最大
到目前为止,我的代码可以按范围计算数量,但我不知道如何计算,包括按区域分组。。。 以下是我的代码和结果:
data.groupby(pd.cut(data['age'], bins=[0, 30, 54, 200])).size()
[*]
(0, 30] 736
(30, 54] 1937
(54, 200] 166
请随意推荐任何其他方法或帮助我解决此问题
您还可以按
state
分组:数据帧中包含的示例返回:
相关问题 更多 >
编程相关推荐