更改从文本文件中读取的numpy数组的形状

时间:2014-07-23 20:05:54

标签: python arrays text numpy

我正在使用python并正在加载一个如下所示的文本文件:

3    4

5    6

7    8

9    10

我使用np.loadtxt(' filename.txt')并输出如下数组:

([[3, 4]
  [5, 6]
  [7, 8]
  [9, 10]])

但是,我想要一个看起来像这样的数组:

([3, 5, 7, 9], [4, 6, 8, 10])

除了复制数组并手动重新格式化之外,任何人都知道我能做些什么吗?我尝试过一些东西,但他们没有工作。

3 个答案:

答案 0 :(得分:1)

根据我的评论:

>>> x
array([[ 3,  4],
       [ 5,  6],
       [ 7,  8],
       [ 9, 10]])
>>> numpy.transpose(x)
array([[ 3,  5,  7,  9],
       [ 4,  6,  8, 10]])

答案 1 :(得分:0)

您可以使用unpack的{​​{1}}选项:

np.loadtxt

这将直接为您的数组转置。 (http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html)。

另一个选择是为你的numpy数组使用np.loadtxt('filename.txt', unpack=True) 函数:

transpose

your_array = np.loadtxt('filename.txt') print(your_array) ([[3, 4] [5, 6] [7, 8] [9, 10]]) new_array = your_array.T print(new_array) ([3, 5, 7, 9], [4, 6, 8, 10]) 方法将返回转置数组,而不是转置到位。

答案 2 :(得分:0)

执行此操作的最佳方法是使用transpose方法,如下所示:

import numpy as np

load_textdata = np.loadtxt('filename.txt')
data = np.transpose(load_textdata)