在numpy中提取数据列的首选方法是什么?
array[:,x]
或
array.T[x]
我发现拥有一行数据,其中包含行中的字段和列中的数据,这样可以更加清晰地操作numpy:
array[x]
获取一个变量的整个系列而不是上述选项。 但是按列排序的变量是标准文件格式。
有关使用数据的最简单方法的任何偏好?
我在阅读时是否应该转置所有数据,然后在输出时再次转置?
答案 0 :(得分:0)
您应该更喜欢切片[:, x]
,原因如下:
更快,可能是因为您没有转置整个数组来从中提取一个部分。在Python 3.5.1,NumPy 1.11.0中测试:
>>> timeit.timeit('A[:,568]', setup = 'import numpy as np\nA = np.random.uniform(size=(1000,1000))')
0.21135332298581488
>>> timeit.timeit('A.T[568]', setup = 'import numpy as np\nA = np.random.uniform(size=(1000,1000))')
0.3025632489880081
它以直观的方式推广到更高维数组,例如A[3, :, 4]
它反映了NumPy将数组视为多维对象的方式,而不是列表(列表)列表。