如何计算pandas数据集列表的相关矩阵并分别保存为csv文件
问题原因
你的代码问题出在文件名生成逻辑:str(dataset)返回的是DataFrame对象的内容预览字符串,而非你定义的df1/df2/df3变量名。这类预览字符串通常包含换行、空格等非法文件名字符,极易出现写入失败、多文件重名覆盖的情况,最终只有最后一个文件能正常保存。
修复方案
推荐两种实现方式,按需选择即可:
方案1:自定义文件名标识(推荐)
直接给每个数据集绑定对应的文件名前缀,不会出现重名问题,逻辑最稳定:
# 将原列表修改为(文件名前缀, DataFrame对象)的元组结构 dataset_list = [("df1", df1), ("df2", df2), ("df3", df3)] for name, dataset in dataset_list: corr_matrix = dataset.corr() corr_matrix.to_csv(f"{name}_Correlation_Matrices.csv", sep=',')
方案2:按序号自动命名
如果不想修改原有列表结构,可以用枚举生成序号作为文件名区分标识:
for idx, dataset in enumerate(dataset_list, start=1): corr_matrix = dataset.corr() corr_matrix.to_csv(f"df{idx}_Correlation_Matrices.csv", sep=',')
内容的提问来源于stack exchange,提问作者Montel Olson
相关产品推荐
相关产品推荐

