如何将函数应用于多个熊猫数据框

Nar*_*ang 5 python function dataframe pandas

我有多个数据框:

df1, df2, df3,..., dfn
Run Code Online (Sandbox Code Playgroud)

它们具有相同类型的数据,但来自无法连接的不同描述符组。现在我需要手动将相同的函数应用于每个数据帧。

如何将相同的功能应用于多个数据帧?

jpp*_*jpp 6

pipe + 理解

如果您的数据框包含相关数据,在这种情况下,您应该将它们存储在list(如果数字排序就足够了)或dict(如果您需要为每个数据框提供自定义标签)。然后,您可以通过理解pipe通过函数来获取每个数据帧foo

列表示例

df_list = [df1, df2, df3]
df_list = [df.pipe(foo) for df in df_list]
Run Code Online (Sandbox Code Playgroud)

然后通过访问dataframes df_list[0]df_list[1]等等。

字典示例

df_dict = {'first': df1, 'second': df2, 'third': df3}
df_dict = {k: v.pipe(foo) for k, v in df_dict.items()}
Run Code Online (Sandbox Code Playgroud)

然后通过访问dataframes df_dict['first]df_dict['second']等等。


Dee*_*ace 5

如果数据框具有相同的列,您可以将concat它们转换为单个数据框,但除此之外,并没有真正的“智能”方法:

df1, df2, df3 = (df.apply(...) for df in [df1, df2, df3]) # or either .map or .applymap
Run Code Online (Sandbox Code Playgroud)