如何在python中循环附加脚本

如何在python中循环附加脚本,python,pandas,loops,Python,Pandas,Loops,我想在我的数据中进行200个相关组合,到目前为止,我有这个及其工作: 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)]

我想在我的数据中进行200个相关组合,到目前为止,我有这个及其工作:

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_3 = corr_2.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[3]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
corr_4 = corr_3.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[4]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
...
corr_200
我需要循环这个corr脚本,这样我就不必写200行脚本了。 我尝试过这个,但它只有两种组合:

corr = pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[0]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]
for var in list(range(1,10)):
    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 = list()

for x in range(201):
    corr.append(pg.pairwise_corr((df_pvt, columns=[[df_pvt.columns[x]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]))
这是一条路:

with open('file.py','w') as f:
    f.write("corr_0 = pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[0]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]\n")
    for n in range(1,201):
        f.write(f"corr_{n} = corr_{n-1}.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[1]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])\n")

该代码将生成另一个python文件,名为
file.py
,包含所有201行代码。

我之前发布了我的最佳答案,但有一种更简单的方法:

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

for n in range(1,201):
    exec(f"corr_{n} = corr_{n-1}.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[1]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])")
但不建议使用此方法,因为它使用了
exec
,这被认为是一种不好的做法,因为它通常被滥用来执行不需要的任务,从而导致潜在的安全问题和糟糕的编程。