Применить функцию к списку столбцов датафрейма

Как применить функцию (например astype('float64') не к одному столбцу, а сразу к заданному списку столбцов дата фрейма? Список пусть называется df_numeric_columns.


Ответы (1 шт):

Автор решения: Алексей Р

Вариант 1: передать словарь в качестве аргумента:

df = pd.DataFrame({'col1': ['1.23', '3.45'], 'col2': ['1.23', '3.45'], 'col3': ['aaa', 'bbb']})
df_numeric_columns = ['col1', 'col2']
df = df.astype({k: 'float64' for k in df_numeric_columns}) # генерируем и передаем словарь в метод; ключ - название столбца, значение - 'float64'
print(df)

Вариант 2:

df[df_numeric_columns] = df[df_numeric_columns].astype('float64')
   col1  col2 col3
0  1.23  1.23  aaa
1  3.45  3.45  bbb
→ Ссылка