我有一个犯罪数据集,我已经计算了每个位置的犯罪数量。现在,我想创建一个新列,该列是该特定行的犯罪率。我现在已经计算出犯罪率,我想匹配特定犯罪率以更正匹配相同纬度值的行
在这里,我有一个循环来创建每个位置的犯罪率。但是现在我要获得犯罪率值,请创建一个新列,使其与数据框的for循环中的纬度相匹配,并在每行中添加相应的犯罪率
z = ['lat']
for i in z:
print((df[i].value_counts()/1250000)*100000)
32.715973 112.56
32.715738 90.32
32.706341 83.28
32.545300 79.52
32.745903 78.32
32.769389 65.52
32.809860 63.44
32.706287 63.04
32.591684 55.68
32.764136 55.44
32.749983 52.16
32.545291 49.04
32.712584 47.20
32.746868 46.32
32.796864 44.40
32.706287 43.76
32.768120 42.64
32.794497 41.52
32.703369 40.80
32.714797 40.40
32.716977 39.44
32.738989 39.04
32.755182 37.28
32.957955 35.52
32.759375 35.28
32.565237 34.72
32.739964 34.08
32.767116 34.00
32.877050 32.24
32.706559 32.24
答案 0 :(得分:4)
我认为您可以使用transform
df['Newcol']=(df.groupby('lat')['lat'].transform('count')/1250000)*100000
用于循环
z = ['lat']
for i in z:
df[i+'col']=(df.groupby(i)[i].transform('count')/1250000)*100000