首页 > 解决方案 > 如何在python中附加循环

问题描述

我一直在寻找几个小时。我有 190 列数据透视表要在我的脚本上循环我有这个脚本:

corr = pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[0]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]

这提供输出:

                                          X  ...      r
0    CORSEC_Mainstream Media_Negative Count  ...  1.000
1    CORSEC_Mainstream Media_Negative Count  ...  0.960
2    CORSEC_Mainstream Media_Negative Count  ... -0.203
3    CORSEC_Mainstream Media_Negative Count  ... -0.446
4    CORSEC_Mainstream Media_Negative Count  ...  0.488
..                                      ...  ...    ...
179  CORSEC_Mainstream Media_Negative Count  ... -0.483
180  CORSEC_Mainstream Media_Negative Count  ... -0.487
181  CORSEC_Mainstream Media_Negative Count  ...  0.145
182  CORSEC_Mainstream Media_Negative Count  ...  0.128
183  CORSEC_Mainstream Media_Negative Count  ...  0.520

[184 rows x 3 columns]

我想将 189 个其他列附加到我的脚本中,但此脚本继续提供 2 个附加变量并继续替换,直到第 189 个变量

for var in list(range(1,189)):
    corr_all = corr.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[var]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
    print(corr_all)

有什么建议吗?

编辑:

它的工作是这样的:

corr = pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[0]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]
corr_1 = corr.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[1]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
corr_2 = corr_1.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[2]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])

但是我如何循环它直到 corr_189?

标签: pythonpandasloops

解决方案


您可以尝试为 189 列中的每一列制作 189 个值列表(Pearson 系数),然后将这些列与“df_final”连接起来,这将是包含所有 190 列的数据框:

corr = pd.DataFrame(corr)
df_final = pd.DataFrame()

for k in range(189):
    list_Pearson_k = 'formula to compute a list of pearson values'                    
    df_list_k = pd.DataFrame(list_Pearson_k)
    df_final = pd.concat([corr,df_list_k ], axis = 1) 

推荐阅读