我有一个犯罪数据集,我已经计算了每个地点犯下的罪行。现在我想创建一个新列,它是该特定行的犯罪率。我已经计算了犯罪率,现在我想将特定的犯罪率与匹配相同纬度值的正确行相匹配
这里我有一个循环来创建每个位置的犯罪率。但现在我想获取犯罪率值创建一个新列,将我的 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
最佳答案
我认为你可以使用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
关于python - 我想在我的数据框中创建一个新列,即每个特定行的犯罪率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55733270/