【发布时间】:2019-08-11 22:07:06
【问题描述】:
我正在尝试使用 np.savetxt 将 2D numpy array 写入 csv 文件。
import numpy as np
data = np.array([[0,np.nan,2,3],[4,5,np.nan,7],[8,9,10,np.nan]])
np.savetxt("file.csv", data, delimiter=",", fmt='%.2f')
这会创建一个文件file.csv,其内容如下。
0.00,nan,2.00,3.00
4.00,5.00,nan,7.00
8.00,9.00,10.00,nan
如您所见,该文件包含nan 而不是空白。我知道 nan 不是字符串。
预期输出:
0.00,,2.00,3.00
4.00,5.00,,7.00
8.00,9.00,10.00,
使用pandas 我可以像下面这样实现。
import pandas as pd
df = pd.DataFrame(data)
df.to_csv("file1.csv", index=False)
但我暂时不使用pandas。那么使用numpy可以实现这一点吗?
【问题讨论】:
-
savetxt所做的只是对数组的每一行进行格式化写入。'%.2f,%.2f,...'%tuple(row)。只是基本的 python % 格式。
标签: python python-3.x csv numpy nan