как создать новый столбец в фрейме данных pandas путем индексации желаемых частей других столбцов - PullRequest
0 голосов
/ 26 ноября 2018

вот что у меня есть:

fertility_rate =[3.97,3.68,3.14,2.73,2.27,2.02,1.86,1.70,1.68,1.32,1.31, 1.31,1.39,1.45,1.50,1.55,1.59]
year = ['1950-1955','1955-1960','1960-1965','1965-1970','1970-1975','1975-1980','1980-1985','1985-1990','1990-1995','1995-2000','2000-2005','2005-2010','2010-2015','2015-2020','2020-2025','2025-2030','2030-2035']
fertility = pd.DataFrame({'year': year, 'fertility': fertility_rate})
fertility.set_index('year', inplace=True)


fertility['fertility_high']=fertility['fertility'] +0.5 

Этот код создает новый столбец, добавляя 0,5 к каждой строке в столбце.Моя цель состоит в том, чтобы для первых 12 строк (с 1955 по 2015 год) скопировать значения из первого столбца (фертильность), а для 12+ строк добавить 0,5.

1 Ответ

0 голосов
/ 26 ноября 2018

IIUC, вам нужно то же значение, что и фертильность в высокой рождаемости для первых 12 рядов, и увеличение на 0,5 для остальных

fertility['fertility_high']=fertility['fertility'].copy() 

fertility.iloc[12:, 1]+=0.5 

    fertility   fertility_high
year        
1950-1955   3.97    3.97
1955-1960   3.68    3.68
1960-1965   3.14    3.14
1965-1970   2.73    2.73
1970-1975   2.27    2.27
1975-1980   2.02    2.02
1980-1985   1.86    1.86
1985-1990   1.70    1.70
1990-1995   1.68    1.68
1995-2000   1.32    1.32
2000-2005   1.31    1.31
2005-2010   1.31    1.31
2010-2015   1.39    1.89
2015-2020   1.45    1.95
2020-2025   1.50    2.00
2025-2030   1.55    2.05
2030-2035   1.59    2.09
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...