Tengo múltiples marcos de datos:
df1, df2, df3,..., dfn
Tienen el mismo tipo de datos pero de diferentes grupos de descriptores que no se pueden unir. Ahora necesito aplicar la misma función a cada dataframe manualmente.
¿Cómo puedo aplicar la misma función a múltiples marcos de datos?
Si los marcos de datos tienen las mismas columnas, se pueden concat
en un solo dataframe, pero de lo contrario no existe una forma “inteligente” de hacerlo:
df1, df2, df3 = (df.apply(...) for df in [df1, df2, df3]) # or either .map or .applymap
pipe
+ comprension Si sus marcos de datos contienen datos relacionados, como en este caso, debe almacenarlos en una list
(si el orden numérico es suficiente) o dict
(si necesita proporcionar tags personalizadas a cada dataframe). Luego puede pipe
cada dataframe a través de una función foo
través de una comprensión.
df_list = [df1, df2, df3] df_list = [df.pipe(foo) for df in df_list]
Luego acceda a sus marcos de datos a través de df_list[0]
, df_list[1]
, etc.
df_dict = {'first': df1, 'second': df2, 'third': df3} df_dict = {k: v.pipe(foo) for k, v in df_dict.items()}
Luego acceda a sus marcos de datos a través de df_dict['first]
, df_dict['second']
, etc.