gpt4 book ai didi

python - 如何使用 numpy 保存和读回多维字符串数组(可能)?

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:30 24 4
gpt4 key购买 nike

我需要将数据保存到文件中,其中每行都遵循以下格式:<string1> <array of thousands of floats> <string2> 。所以我考虑将数据连接成一个巨大的字符串数组,如下所示:

labels = ['label1', 'label2', 'label3']
values = [[0.1, 0.4, 0.5],
[0.1, 0.2, 0.1],
[0.5, 0.6, 1.0]]
descriptions = ['desc1', 'desc2', 'desc3']
concat1 = np.r_['1,2,0', labels, values]
concat2 = np.r_['1,2,0', concat1, descriptions]

结果:

[['label1' '0.1' '0.4' '0.5' 'desc1']
['label2' '0.1' '0.2' '0.1' 'desc2']
['label3' '0.5' '0.6' '1.0' 'desc3']]

我知道如果每个子数组足够小,我可以做这样的事情:

np.savetxt('output.txt', concat2, fmt = "%s %s %s %s %s")

但是我的问题涉及数千个值,因此一次键入一个变量的格式有点不切实际。

关于如何将其保存到文件还有其他建议吗?

PS:将 float 保存为字符串听起来有点奇怪,但是我的上级这样要求,所以......

最佳答案

没有numpy的解决方案:

labels = ['label1', 'label2', 'label3']
values = [[0.1, 0.4, 0.5],
[0.1, 0.2, 0.1],
[0.5, 0.6, 1.0]]
descriptions = ['desc1', 'desc2', 'desc3']

with open('output.txt', 'w') as handle:
for label, nums, description in zip(labels, values, descriptions):
handle.write('{} {} {}\n'.format(
label,
' '.join(map(str, nums)),
description,
))

output.txt的内容:

label1 0.1 0.4 0.5 desc1
label2 0.1 0.2 0.1 desc2
label3 0.5 0.6 1.0 desc3

或者从concat2开始:

with open('output.txt', 'w') as handle:
for row in concat2:
handle.write(' '.join(row))
handle.write('\n')

关于python - 如何使用 numpy 保存和读回多维字符串数组(可能)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44610185/

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