Применить функцию к списку столбцов из кадра данных - PullRequest
0 голосов
/ 06 января 2020

Я создаю функцию, которая принимает 3 входа: фрейм данных, столбец и список столбцов. Функция должна применять короткие вычисления к одному столбцу, а другие короткие вычисления - к списку других столбцов. Он должен возвращать фрейм данных, содержащий только измененные столбцы (и их измененные строки) из исходного фрейма данных.

import numpy as np

df = pd.DataFrame([[1, 2, 3, 4], [1, 3, 5, 6], [4, 6, 7, 8], [5, 4, 3, 6], columns=['A', 'B', 'C', 'D'])

def pre_process(dataframe, y_col_name, x_col_names):
    return = new_dataframe

Вычисление, которое будет применено к строкам y_col_name, представляет собой каждое значение y_col_name, деленное на среднее значение y_col_name.

Расчет, который будет применен к каждому из списка столбцов в x_col_name, представляет собой каждое значение каждого столбца, разделенное на стандартное отклонение столбца.

Я хотел бы получить некоторую помощь при написании функции. Я думаю, что мне нужно использовать функцию «apply» или «lambda», но я не уверен.

Вот как будет выглядеть вызов команды:

pre_process_data = preprocess(df,'A', ['B','D'])

Спасибо

1 Ответ

0 голосов
/ 07 января 2020
def pre_process(dataframe, y_col_name, x_col_names):
    new_dataframe = dataframe.copy()
    new_dataframe[y_col_name] =  new_dataframe[y_col_name]/new_dataframe[y_col_name].mean()
    new_dataframe[x_col_names] = new_dataframe[x_col_names]/new_dataframe[x_col_names].std()
    return new_dataframe

Это то, что вы имеете в виду?

...