Я хочу создать преступление в новом столбце в моем фрейме данных, который показывает уровень преступности каждой конкретной строки - PullRequest
1 голос
/ 17 апреля 2019

У меня есть набор данных о преступлениях, я уже подсчитал количество преступлений, совершенных в каждом месте. Теперь я хочу создать новый столбец, который показывает уровень преступности для этой конкретной строки. Я уже рассчитал уровень преступности, теперь я хочу сопоставить конкретный уровень преступности, чтобы исправить строку, совпадающую с той же широтой

Здесь у меня есть цикл, который создает уровень преступности для каждого местоположения. но теперь я хочу получить значение уровня преступности, создать новый столбец, который соответствует широте в моем цикле 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 Ответ

4 голосов
/ 17 апреля 2019

Я думаю, вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...