1

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

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

4

1 回答 1

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
于 2019-04-17T17:46:28.470 回答