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

时间:2019-04-17 17:42:20

标签: 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

1 个答案:

答案 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