Я работаю с этими данными:
url1 = 'https://raw.githubusercontent.com/dothemathonthatone/maps/master/bev_parse.csv'
df_bev = pd.read_csv(url1, index_col=0)
url2 = 'https://raw.githubusercontent.com/dothemathonthatone/maps/master/frucht_parse.csv'
df_frucht = pd.read_csv(url2, index_col=0)
fertility = pd.merge(df_bev, df_frucht, on=['regional_schlüssel', 'year'])
и теперь я хотел бы отфильтровать столбцы с помощью регулярных выражений и разделить их; используя данные ниже, которые были предоставлены на другой вопрос Stackoverflow. Эта часть работает нормально ...
denominator = fertility.filter(regex='^[a-z]+\d+$') # Lower case ones
denominator = denominator.apply(pd.to_numeric, errors='coerce')
эта часть работает не так хорошо. с помощью этого кода я пытаюсь выбрать столбцы вида Aus_15-20, Deu15_20, ..., Aus45_50, Deu45_50
numerator = fertility.filter(regex='^[A-Z][a-z]+\d+$')
numerator = numerator.apply(pd.to_numeric, errors='coerce') # Fix numbers
Почему-то я не собираю столбцы в numerator
последний фрагмент кода
numerator.div(denominator).add_prefix('fertility_')
fertility = fertility[['year', 'regional_schlüssel']].join(numerator.div(denominator).add_prefix('fertility_'))
fertility['reg_schl'] = fertility['regional_schlüssel']
Я новичок в использовании regex и i.loc; Я хочу улучшить их использование. Может кто-нибудь сказать мне, в чем проблема. Код работал нормально, пока я не изменил столбцы в наборе данных, и теперь я не могу его вернуть.