简体   繁体   English

如何在 python 中使用循环 append

[英]How to append with loop in python

I have been searching for hours.我一直在寻找几个小时。 I have 190 columns of pivot table to loop on my script I have this script:我有 190 列 pivot 表在我的脚本上循环我有这个脚本:

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

this provide output:这提供 output:

                                          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]

I want to append 189 other columns to my script, but this script keep providing 2 appended variables and keep replacing until the 189th variables我想将 append 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)

Any advice?有什么建议吗?

Edit:编辑:

Its work like this:它的工作是这样的:

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']])

But how I loop it until the corr_189?但是我如何循环它直到 corr_189?

You can try making 189 lists of values (Pearson coefficients) for each of your 189 columns, and then concatenate the columns with " df_final " which would be the dataframe containing all the 190 columns:您可以尝试为 189 列中的每一列制作 189 个值列表(皮尔逊系数),然后将这些列与“df_final”连接起来,这将是包含所有 190 列的 dataframe:

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) 

Python list append method returns None . Python list append方法返回None

Change your code to this:-将您的代码更改为:-

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

This should help.这应该会有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM