#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
Я делаю это следующим образом: 1- удаление столбцов из основного фрейма данных, для которого не требуется масштабирование функций 2 — теперь полученный фрейм данных содержит только столбцы, требующие масштабирования функций 3- объединение выпавших столбцов с масштабированными столбцами, чтобы получить окончательный фрейм данных
но
Я хочу сделать это без удаления каких-либо столбцов. купить с помощью команды, которая масштабирует первые 14 столбцов, но остальные сохраняются в фрейме данных, который я получаю на выходе
Ответ №1:
Загляните в DataFrame.apply(). Установка параметра axis равным 1 применит функцию вдоль столбцов. Вы можете поместить фильтр в эту функцию, чтобы включать только столбцы, которые вы хотите масштабировать.
Например:
import pandas as pd
def scaling_function(x, col_to_scale):
for col in x.index:
if col in col_to_scale:
#your scaling operation here
x[col] = x[col] * 2
return x
df = pd.DataFrame([[4, 9, 2]] * 3, columns=['A', 'B', 'C'])
col_to_scale = ['A', 'B']
scaled_df = df.apply(lambda x: scaling_function(x, col_to_scale), axis=1)
Удвоит значения в столбцах A и B, оставив C как есть.