python - 我想在我的数据框中创建一个新列,即每个特定行的犯罪率

标签 python pandas numpy data-science

我有一个犯罪数据集,我已经计算了每个地点犯下的罪行。现在我想创建一个新列,它是该特定行的犯罪率。我已经计算了犯罪率,现在我想将特定的犯罪率与匹配相同纬度值的正确行相匹配

这里我有一个循环来创建每个位置的犯罪率。但现在我想获取犯罪率值创建一个新列,将我的 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/

相关文章:

python - 如何按键合并多个词典

python - 将 pandas 系列转换为字符串

python - numpy.astype(np.uint8) 如何转换 float 组? -1.2997805 变成 255

python - pytorch:无法加载 CNN 模型并进行预测 TypeError: 'collections.OrderedDict' 对象不可调用

python - 创建一个 Numpy 结构标量而不是数组

python - 在 python 中使用 str.contains 查找带有 pandas 的两个子字符串

python - 对多索引 DataFrame 上的不同行执行操作

python - 如何在 numpy 数组列中找到最大值?

python - 在 numpy 中,将 3 维数组的第二维乘以 1 维数组的最快方法是什么?

python - 拆分 DataFrame 并立即将代码应用于所有 DataFrame?