【发布时间】:2020-07-27 22:45:30
【问题描述】:
我有 2 组来自大数据框的拆分数据框。比如说,
import pandas as pd, numpy as np
np.random.seed([3,1415])
ind1 = ['A_p','B_p','C_p','D_p','E_p','F_p','N_p','M_p','O_p','Q_p']
col1 = ['sap1','luf','tur','sul','sul2','bmw','aud']
df1 = pd.DataFrame(np.random.randint(10, size=(10, 7)), columns=col1,index=ind1)
ind2 = ['G_l','I_l','J_l','K_l','L_l','M_l','R_l','N_l']
col2 = ['sap1','luf','tur','sul','sul2','bmw','aud']
df2 = pd.DataFrame(np.random.randint(20, size=(8, 7)), columns=col2,index=ind2)
# Split the dataframes into two parts
pc_1,pc_2 = np.array_split(df1, 2)
lnc_1,lnc_2 = np.array_split(df2, 2)
现在,我需要将来自 df1 (pc1, pc2) 的每个拆分数据帧与来自 df2 (ln_1,lnc_2) 的每个数据帧连接起来。目前,我正在这样做,
# concatenate each split data frame pc1 with lnc1
pc1_lnc_1 =pd.concat([pc_1,lnc_1])
pc1_lnc_2 =pd.concat([pc_1,lnc_2])
pc2_lnc1 =pd.concat([pc_2,lnc_1])
pc2_lnc2 =pd.concat([pc_2,lnc_2])
在每个连接的数据帧上,我需要运行一个相关性分析函数,例如,
correlation(pc1_lnc_1)
我想单独保存结果,例如,
pc1_lnc1= correlation(pc1_lnc_1)
pc1_lnc2= correlation(pc1_lnc_2)
......
pc1_lnc1.to_csv(output,sep='\t')
问题是是否有一种方法可以使上述连接部分自动化,而不是使用某种循环在每一行中对其进行编码,目前对于每个连接的数据帧。我正在单独运行函数correlation。而且我有一个很长的拆分数据框列表。
【问题讨论】:
标签: python pandas numpy dataframe