gpt4 book ai didi

python - 将 "missing array values"写入文件

转载 作者:行者123 更新时间:2023-11-28 18:54:00 27 4
gpt4 key购买 nike

import numpy as np

f1= "test_io.csv"
f2= "test_io2.csv"

array = np.genfromtxt(f1,delimiter=',',missing_values='NA', filling_values=1.e20)
np.savetxt(f2,array,delimiter=',')

#np.savetxt(f2,array,delimiter=', missing_values = 1.e20, filling_values='NA')

正如第二个“savetxt”所建议的,我希望能够在写入文件时用“NA”替换由 genfromtxt 读取并替换为填充值的缺失值。我能找到的最好的方法是将数组中的每一行转换为 str 数组,替换“缺失值”,然后用 csv writer 写入每一行。有没有更好的办法?

最佳答案

没有一种内置的方法可以做到这一点,因为通常自己动手做比让“一刀切”的功能满足您的需求更容易。

在你的情况下,我不会理会 csv模块。当您需要读取复杂的数据时它很棒,但对于这么简单的事情,不使用它要容易得多。

missing, fill = 1.e20, "NA"
with open("test_io2.csv", 'w') as outfile:
for row in array:
line = ','.join([str(x) for x in row if x != missing else fill])
outfile.write(line + '\n')

当然,有关测试 float 相等性的常见注意事项适用。做类似 if x < 9e19 else fill 的事情可能更有意义反而。不过,这将取决于您的特定应用程序。

关于python - 将 "missing array values"写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com