简体   繁体   English

在pandas数据帧中的每列上应用函数

[英]Apply function on each column in a pandas dataframe

How I can write following function in more pandas way: 我如何用更多的熊猫方式编写以下函数:

     def calculate_df_columns_mean(self, df):
        means = {}
        for column in df.columns.columns.tolist():
            cleaned_data = self.remove_outliers(df[column].tolist())
            means[column] = np.mean(cleaned_data)
        return means

Thanks for help. 感谢帮助。

It seems to me that the iteration over the columns is unnecessary: 在我看来,对列的迭代是不必要的:

def calculate_df_columns_mean(self, df):
    cleaned_data = self.remove_outliers(df[column].tolist())
    return cleaned_data.mean()

the above should be enough assuming that remove_outliers still returns a df 假设remove_outliers仍然返回一个df,上面应该足够了

EDIT 编辑

I think the following should work: 我认为以下应该有效:

def calculate_df_columns_mean(self, df):
    return df.apply(lambda x: remove_outliers(x.tolist()).mean()

Use dataFrame.apply(func, axis=0) : 使用dataFrame.apply(func, axis=0)

# axis=0 means apply to columns; axis=1 to rows
df.apply(numpy.sum, axis=0) # equiv to df.sum(0)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Pandas DataFrame将特定功能应用于每列 - Pandas DataFrame apply Specific Function to Each column 将函数应用于pandas数据框列中每一行的每个单词 - apply function to each word of every row in pandas dataframe column 将函数应用于DataFrame中的每个单元格,这取决于pandas中的列名称 - Apply function to each cell in DataFrame that depends on the column name in pandas 对 Pandas dataframe 中的列的每条记录应用相同的 function - Apply the same function on each record of a column in Pandas dataframe 如何将 function 应用于 pandas dataframe 中一列的每一行? - How to apply a function to each row of one column in a pandas dataframe? 将函数应用于pandas数据框的列 - Apply a function to column of pandas dataframe 按组将函数应用于 Pandas 数据框中的每一行 - Apply function to each row in Pandas dataframe by group 在熊猫中多线程将函数应用于DataFrame中的每个单元 - Apply function to each cell in DataFrame multithreadedly in pandas 将函数应用于pandas中的DataFrame中的每个单元格 - Apply function to each cell in DataFrame in place in pandas A pandas dataframe 列作为行级 function 的参数传递,以将列的每个值应用于其各自的行 - A pandas dataframe column to pass as an argument of row level function to apply each value of the column to its respective row
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM