【问题标题】:I want to create a crime a new column in my data frame that is the crime rate of each specific row我想在我的数据框中创建一个新列,即每个特定行的犯罪率
【发布时间】:2019-09-08 00:54:45
【问题描述】:

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

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

【问题讨论】:

    标签: python pandas numpy data-science


    【解决方案1】:

    我认为你可以使用transform

    df['Newcol']=(df.groupby('lat')['lat'].transform('count')/1250000)*100000
    

    for循环

    z = ['lat'] 
    for i in z:
        df[i+'col']=(df.groupby(i)[i].transform('count')/1250000)*100000
    

    【讨论】:

    • @DavidArriaga 你只需要重新分配它
    • 我需要for循环吗?
    • @DavidArriaga 你只有一行需要调整为什么你需要循环
    • @DavidArriaga 和我添加了 for 循环
    • 好吧,完美,它实际上在没有 for 循环的情况下也能正常工作,非常感谢
    猜你喜欢
    • 2023-02-06
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 2021-06-16
    • 2021-08-16
    • 1970-01-01
    相关资源
    最近更新 更多