You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas将未知尺寸的N×M数组保存为CSV文件

不需要循环调用pd.append,直接将完整的Numpy数组传入DataFrame构造函数即可完成转换,再调用to_csv方法保存文件,适配任意尺寸的二维数组。

常规内存足够场景(代码最简)

import numpy as np
import pandas as pd

N,M = np.random.randint(10,100, size = 2)
A = np.random.randint(10, size = (N,M))

# 生成列名,用列表推导式替代for循环更简洁
columns = [f"column_{i}" for i in range(M)]

# 直接从二维数组构造DataFrame,指定列名
df = pd.DataFrame(A, columns=columns)

# 保存为csv文件,index=False表示不输出默认行索引,不需要可以删除该参数
df.to_csv("output.csv", index=False, encoding="utf-8-sig")

超大数组分块写入场景(内存不足时使用)

如果数组尺寸过大无法一次性加载进内存,可以分批次写入文件:

import numpy as np
import pandas as pd

N,M = np.random.randint(10,100, size = 2)
A = np.random.randint(10, size = (N,M))
columns = [f"column_{i}" for i in range(M)]

# 可根据实际内存调整单块写入的行数
chunk_size = 1000

# 先写入表头
pd.DataFrame(columns=columns).to_csv("large_output.csv", index=False, encoding="utf-8-sig")

# 逐块追加写入数据
for start_idx in range(0, N, chunk_size):
    end_idx = min(start_idx + chunk_size, N)
    chunk_data = A[start_idx:end_idx]
    pd.DataFrame(chunk_data, columns=columns).to_csv(
        "large_output.csv", 
        mode="a", # 追加模式
        header=False, # 不重复写入表头
        index=False,
        encoding="utf-8-sig"
    )

内容的提问来源于stack exchange,提问作者Siderius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:15:07