我有一个按地区分组的系列->;犯罪类型->;罪案:
PdDistrict Category
BAYVIEW ASSAULT 8976
BURGLARY 2891
DISORDERLY CONDUCT 207
DRIVING UNDER THE INFLUENCE 188
DRUG/NARCOTIC 2061
...
TENDERLOIN STOLEN PROPERTY 299
TRESPASS 665
VANDALISM 1710
VEHICLE THEFT 661
WEAPON LAWS 791
Name: IncidntNum, Length: 140, dtype: int64
我的目标是用标量除以每个值
我尝试使用一个循环遍历“PdDistricts”,并运行以下行:
series[district] = series[district] / sum(series[district])
如果我只运行series[district] / sum(series[district])
,则输出符合预期:
Category
ASSAULT 0.11434063
BURGLARY 0.09323762
DISORDERLY CONDUCT 0.00427552
DRIVING UNDER THE INFLUENCE 0.00478544
DRUG/NARCOTIC 0.05691535
DRUNKENNESS 0.00596219
LARCENY/THEFT 0.46712952
PROSTITUTION 0.00027457
ROBBERY 0.02753589
STOLEN PROPERTY 0.00917863
TRESPASS 0.01247352
VANDALISM 0.09335530
VEHICLE THEFT 0.09884679
WEAPON LAWS 0.01168902
Name: IncidntNum, dtype: float64
但是,当我尝试更新运行series[district] = series[district] / sum(series[district])
的系列的现有部分时,我得到:
Category
ASSAULT 0
BURGLARY 0
DISORDERLY CONDUCT 0
DRIVING UNDER THE INFLUENCE 0
DRUG/NARCOTIC 0
DRUNKENNESS 0
LARCENY/THEFT 0
PROSTITUTION 0
ROBBERY 0
STOLEN PROPERTY 0
TRESPASS 0
VANDALISM 0
VEHICLE THEFT 0
WEAPON LAWS 0
Name: IncidntNum, dtype: int64
这并不是我们想要的。如果我使用.loc,我只得到NaN而不是0
我根本无法理解出了什么问题,我尝试过的所有解决方案都失败了,我认为关键问题是我不完全理解如何处理《熊猫》系列
我希望你能帮助我理解这个问题
/米克尔
我相信每个第一级需要^{} {}-对于每个第一级
MultiIndex
的和值:然后用第一级除以^{} ,所以除以
PdDistrict
的和:相关问题 更多 >
编程相关推荐