Aks*_*kar 3 python csv numpy nan python-3.x
我正在尝试numpy array使用 .csv 文件将 2D 写入 csv 文件np.savetxt。
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')
Run Code Online (Sandbox Code Playgroud)
file.csv这会创建一个包含以下内容的文件。
0.00,nan,2.00,3.00
4.00,5.00,nan,7.00
8.00,9.00,10.00,nan
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,该文件包含nan而不是空白。我知道 nan 不是字符串。
预期输出:
0.00,,2.00,3.00
4.00,5.00,,7.00
8.00,9.00,10.00,
Run Code Online (Sandbox Code Playgroud)
使用pandas我可以实现如下所示。
import pandas as pd
df = pd.DataFrame(data)
df.to_csv("file1.csv", index=False)
Run Code Online (Sandbox Code Playgroud)
pandas但我现在暂时不使用。那么可以使用 来实现这一点吗numpy?
最直接的解决方案:
data1 = data.astype(str)
data1[data1=='nan'] = ''
np.savetxt("file.csv", data1, delimiter=",", fmt="%s")
Run Code Online (Sandbox Code Playgroud)