Python 将函数应用于不同数据帧的类似命名列并连接结果
尝试查看以前的问题,但找不到与我的问题完全匹配的问题: 我有将近300个名为“df1”到“df300”的数据帧。它们都有以下名称和结构:Python 将函数应用于不同数据帧的类似命名列并连接结果,python,pandas,function,Python,Pandas,Function,尝试查看以前的问题,但找不到与我的问题完全匹配的问题: 我有将近300个名为“df1”到“df300”的数据帧。它们都有以下名称和结构: X1 X2 X3 X4 0 3 8 4 9 1 3 5 3 6 2 4 7 7 3 3 10 1 10 6 4 4 4 7 9 5 6 4 1 3 6 10 8 6 3 7 7 1 1 10 8 7 6 9 8
X1 X2 X3 X4
0 3 8 4 9
1 3 5 3 6
2 4 7 7 3
3 10 1 10 6
4 4 4 7 9
5 6 4 1 3
6 10 8 6 3
7 7 1 1 10
8 7 6 9 8
9 10 3 4 6
对于所有数据帧,我希望应用此函数:
def blend_data(dataframe):
blend = (dataframe["X1"] + dataframe["X2"]) / (dataframe["X3"] * dataframe["X4"])
return blend
并且,将结果连接到一个新的数据帧中,其中列“blend1”具有将函数应用于“df1”的输出;“blend2”具有将函数应用于“df2”等的输出。我该怎么做呢?您可以先连接数据帧
df1、df2、…、df300
:
df_concat = pd.concat([df1, df2, ... , df300], axis=0)
然后在df_concat
上应用blend_data
功能:
df_blend = blend_data(df_concat)
您能将所有300个df加载到内存中吗?
pd.concat([blend_data(d)for d in list_of_your_dataframes],axis=1)
?到底是什么问题?你试过什么,做过什么研究吗?