为什么当我使用np.savetxt时,我的数组空间无法正确保存?

2024-03-29 12:15:30 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么文本文件不能正确分配输出空间?在

import numpy as np
my_list =['str1', 'str2', 'str3']
my_list2=[1,2,3]
print(my_list)

['str1'、'str2'、'str3']已打印。在

^{pr2}$

印刷品提供:

[['str1' '1']

['str2' '2']

['str3' '3']]

文件显示str1 1str2 2str3 3。 我想让它说:

str1 1

str2 2

str3 3

运行Windows8.1,使用记事本查看文件。在

简而言之:记事本是最差的。使用记事本++。在

附加一个问题:有没有一种方法可以让列更好地排列?我的一些数据只有几个字符,而其他的只有15个左右。在


Tags: 文件importnumpymyasnp空间list
1条回答
网友
1楼 · 发布于 2024-03-29 12:15:30

如果您打印数组,您将看不到逗号,这是正常的行为numpy,如果您在打印时使用repr,即print repr(np.array([1, 2, 3])),或者从python shell或ipython运行它而不进行打印,它也会显示repr,这是您在scipy文档中看到的。在

无论您看到的是repr输出还是格式化输出,都没有任何区别,数组形状不会改变,因此与您的问题无关:

In [13]: a
Out[13]: 
array(['1', '2', '3'],  # repr
      dtype='|S1')

In [14]: b
Out[14]: 
array(['2', '3', '4'], # repr
      dtype='|S1')

In [15]: print(a) # str
['1' '2' '3']

In [16]: print(b) # str
['2' '3' '4']

In [17]: print(np.column_stack((a,b)))
[['1' '2']
 ['2' '3']
 ['3' '4']]

如果您对column_stack有问题,这不是因为数组在打印时的外观。在

您的输出也将完全符合您在文件中的要求:

^{pr2}$

我看到你在文件中得到str1 1str2 2str3 3的唯一方法是如果你真的使用了newline="",那么所有的数据都将以一行结束。在

相关问题 更多 >