python - 使用 numpy Python 创建列

标签 python numpy

我在numpy.array[]中存储了一些元素。我希望将它们存储在“.txt”文件中。情况是它需要符合一定的标准,这意味着每个元素需要在文件中存储 x 行。

示例:

numpy.array[0] 需要从第 1 行第 26 列开始。

numpy.array[1] 需要从第 1 行第 34 列开始。

我使用numpy.savetxt()将数组保存到文件。

稍后我将在循环中实现此操作,以创建一个带有坐标的大型“.txt”文件。

编辑:下面提供了这个很好的例子,它确实指出了我的挣扎:

 In [117]: np.savetxt('test.txt',A.T,'%20d %10d')
 In [118]: cat test.txt
                   0          6
                   1          7
                   2          8
                   3          9
                   4         10
                   5         11

fmt 选项“%20d %10d”为您提供取决于最后一个整数的间距。我需要的是一个选项,它可以让我设置距左侧的间距,而不管其他整数如何。

模板需要将整数放入: XXXXXXX.XXX YYYYYYY.YYY ZZZZ.ZZZ

<小时/>

最终编辑:

我通过创建一个测试来解决这个问题,该测试检查最后一个 float 使用了多少个空格。然后我就能够预测下一个 float 适合模板所需的空格数。

最佳答案

你玩过np.savetxtfmt吗?

让我用一个具体的例子来说明(您应该给我们的那种)

创建一个 2 行数组:

In [111]: A=np.arange((12)).reshape(2,6)
In [112]: A
Out[112]: 
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11]])

保存,得到2行6列

In [113]: np.savetxt('test.txt',A,'%d')
In [114]: cat test.txt
0 1 2 3 4 5
6 7 8 9 10 11

保存其转置,得到6行2列

In [115]: np.savetxt('test.txt',A.T,'%d')
In [116]: cat test.txt
0 6
1 7
2 8
3 9
4 10
5 11

将更多详细信息放入 fmt 中以分隔列

In [117]: np.savetxt('test.txt',A.T,'%20d %10d')
In [118]: cat test.txt
                   0          6
                   1          7
                   2          8
                   3          9
                   4         10
                   5         11

我认为你可以弄清楚如何制作一个 fmt 字符串,将你的数字放入正确的列中(加入 26 个空格等,或使用左右对齐 - 常见的 Python 格式问题)。

savetxt 还接受一个打开的文件。因此,您可以打开一个文件进行写入,写入一个数组,添加一些填充行,然后写入另一个数组。另外,savetxt 并没有做任何花哨的事情。它只是遍历数组的行,并将每一行写入一行,例如

 for row in A:
     file.write(fmt % tuple(row))

因此,如果您不喜欢 savetxt 为您提供的控制功能,请直接写入文件。

关于python - 使用 numpy Python 创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35010264/

相关文章:

Python:使用 numpy 读取复杂的文本文件

python - np.convolve 与 10**9 有什么问题?

python - pandas df 中 “look ahead” 值的有效方法

python - 使用均值为 0、std 的高斯分布值初始化 200 x 785 numpy 矩阵。偏差0.01

python - Numpy __array_prepare__ 错误

python - pipenv install --system 但仅供用户使用

python - 使用 numpy 的 argsort 时避免内存错误

python - 搜索元组列表以查找匹配子字符串的算法方法?

python - 从 JSON 创建层次结构路径

python - 如何使用python从字符串中的日期列表中获取给定月份的所有日期?