【发布时间】:2018-12-20 01:49:01
【问题描述】:
我有多个数据框:
df1, df2, df3,..., dfn
它们具有相同类型的数据,但来自无法连接的不同描述符组。现在我需要手动对每个数据框应用相同的功能。
如何将相同的函数应用于多个数据帧?
【问题讨论】:
标签: python function pandas dataframe
我有多个数据框:
df1, df2, df3,..., dfn
它们具有相同类型的数据,但来自无法连接的不同描述符组。现在我需要手动对每个数据框应用相同的功能。
如何将相同的函数应用于多个数据帧?
【问题讨论】:
标签: python function pandas dataframe
pipe+理解如果您的数据框包含相关数据,如本例所示,您应该将它们存储在list(如果数字排序足够)或dict(如果您需要为每个数据框提供自定义标签)。然后你可以通过一个函数foo通过一个理解来pipe每个数据帧。
df_list = [df1, df2, df3]
df_list = [df.pipe(foo) for df in df_list]
然后通过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()}
然后通过df_dict['first]、df_dict['second'] 等访问您的数据帧。
【讨论】:
如果数据框具有相同的列,您可以 concat 将它们添加到单个数据框,否则就没有真正的“智能”方式:
df1, df2, df3 = (df.apply(...) for df in [df1, df2, df3]) # or either .map or .applymap
【讨论】: