将函数应用于数据框的列列表

问题描述 投票:-1回答:1

我正在创建一个接受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中的每个列列表的计算是每个列的每个值,除以该列的标准偏差。

我想要一些帮助编写函数。我认为我需要使用“应用”或“ lambda”函数,但不确定。

这就是调用命令的样子:

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

谢谢

pandas list dataframe multiple-columns
1个回答
0
投票
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

这是您的意思吗?

© www.soinside.com 2019 - 2024. All rights reserved.