#python #dataframe #data-science
Вопрос:
У меня есть такой фрейм данных:
Mode Small medium Large
Car 20USD 40USD 60USD
Bike 10RS 30RS 45RS
Нужно, чтобы это было так:
Mode Currency Small Medium Large
Car USD 20 40 60
Bike RS 10 30 45
Ответ №1:
Ну, есть два способа сделать это:
- Способ регулярных выражений, который довольно аккуратен и прост (хорошо, что вам не понадобится сам модуль регулярных выражений, так как он включен в серию pandas):
df['Currency'] = df['Small'].str.extract(r'w ')
df['Small'] = df['Small'].str.extract(r'd ').astype('int')
df['Medium'] = df['Medium'].str.extract(r'd ').astype('int')
df['Large'] = df['Large'].str.extract(r'd ').astype('int')
Если все пойдет правильно, это должно сработать.
- Второй способ, который довольно уродлив, — это использовать петли, и я упоминал, что это уродливо? в любом случае я рекомендую первый способ.