создать новый столбец из разделенных столбцов в течение итерации - PullRequest
1 голос
/ 21 февраля 2020

Я работаю со следующим кодом:

url = 'https://raw.githubusercontent.com/dothemathonthatone/maps/master/fertility.csv'
df = pd.read_csv(url)

year    regional_schlüssel  Aus15   Deu15   Aus16   Deu16   Aus17   Deu17   Aus18   Deu18   ...     aus36   aus37   aus38   aus39   aus40   aus41   aus42   aus43   aus44   aus45
0   2000    5111000     0   4   8   25  20  45  56  89  ...     935     862     746     732     792     660     687     663     623     722
1   2000    5113000     1   1   4   14  13  33  19  48  ...     614     602     498     461     521     470     393     411     397     400
2   2000    5114000     0   11  0   5   2   13  7   20  ...     317     278     265     235     259     228     204     173     213     192
3   2000    5116000     0   2   2   7   3   28  13  26  ...     264     217     206     207     197     177     171     146     181     169
4   2000    5117000     0   0   3   1   2   4   4   7   ...     135     129     118     116     128     148     89  110     124     83 

Я хотел бы создать новый набор столбцов fertility_deu15, ..., fertility_deu45 и fertility_aus15, ..., fertility_aus45 такое, что aus15 / Aus15 = fertiltiy_aus15 и deu15 / Deu15 = fertility_deu15 для каждого ausi и Ausj where j == i \n [15-45] и deui:Deuj where j == i \n [15-45]

1 Ответ

1 голос
/ 21 февраля 2020

Я не уверен, что случилось с этими данными, но нам нужно исправить их, чтобы они нумеровали c. Я в конечном итоге сделаю это при фильтрации

numerator = df.filter(regex='^[a-z]+\d+$')                   # Lower case ones
numerator = numerator.apply(pd.to_numeric, errors='coerce')  # Fix numbers

denominator = df.filter(regex='^[A-Z][a-z]+\d+$').rename(columns=str.lower)
denominator = denominator.apply(pd.to_numeric, errors='coerce')

numerator.div(denominator).add_prefix('fertility_')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...