我正在使用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])
除了复制数组并手动重新格式化之外,任何人都知道我能做些什么吗?我尝试过一些东西,但他们没有工作。
答案 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)