Python Pearson相关性使用scipy,提高速度的方法

Python Pearson相关性使用scipy,提高速度的方法,python,correlation,scipy.stats,Python,Correlation,Scipy.stats,我有一个1222行和33000列的数据框,我需要在16000行和数据框内的其余列之间运行一个关联。目前,我正在使用Pearson相关方法使用python中的scipy.stats库。 以下是我正在尝试的函数: from scipy.stats import pearsonr def correlation_analysis(lncRNA_PC_T): """Function for correlation analysis""&quo

我有一个1222行和33000列的数据框,我需要在16000行和数据框内的其余列之间运行一个关联。目前,我正在使用Pearson相关方法使用python中的
scipy.stats
库。 以下是我正在尝试的函数:

from scipy.stats import pearsonr


def correlation_analysis(lncRNA_PC_T):
    """Function for correlation analysis"""
    correlations = pd.DataFrame()
    for PC in [column for column in lncRNA_PC_T.columns if "_PC" in column]:
        for lncRNA in [
            column for column in lncRNA_PC_T.columns if "_lncRNAs" in column
        ]:
            correlations = correlations.append(
                pd.Series(
                    pearsonr(lncRNA_PC_T[PC], lncRNA_PC_T[lncRNA]),
                    index=["PCC", "p-value"],
                    name=PC + "_" + lncRNA,
                )
            )

    return correlations
上面的代码正在完成它的工作,但是,对于我的大小为
1222 X 33000
的数据帧,完成这项工作实际上需要30多分钟。如果有人能为大数据帧提供提高此功能速度的方法,那将是非常棒的。
感谢

append()添加数据通常需要比预先分配空间和索引更长的时间。感谢您的建议。我尝试过不使用append(),但是,它仍然需要像以前一样长的时间。