Cómo aplicar la función a múltiples marcos de datos pandas

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.

Ejemplo de lista

 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.

Ejemplo de diccionario

 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.