Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何读取第1列和第2列,以及从第n列到最后一列。努比_Python_Arrays_Numpy - Fatal编程技术网

Python 如何读取第1列和第2列,以及从第n列到最后一列。努比

Python 如何读取第1列和第2列,以及从第n列到最后一列。努比,python,arrays,numpy,Python,Arrays,Numpy,我有一个多维数组,需要分别选择第1列和第2列、第1列和第3列、第1列和第4列。然后是第二列和第三列,第二列和第四列,最后是第三列和第四列。等等。。。 为了语句的目的,我转置了数组 我的代码 import pandas as pd pole= np.array([[11,12,13,14],[21,22,23,24],[31,32,33,34],[41,42,43,44]]) pole=np.transpose(pole) print(pole) 我需要 #1st and 2nd 11 21

我有一个多维数组,需要分别选择第1列和第2列、第1列和第3列、第1列和第4列。然后是第二列和第三列,第二列和第四列,最后是第三列和第四列。等等。。。 为了语句的目的,我转置了数组

我的代码

import pandas as pd 

pole= np.array([[11,12,13,14],[21,22,23,24],[31,32,33,34],[41,42,43,44]])
pole=np.transpose(pole)
print(pole)
我需要

#1st and 2nd
11 21
12 22
13 23
14 24
#1st and 3rd
11 31
12 32
13 33
14 34
#1st and 4th 
11 41
12 42
13 43
14 44
#2nd and 3rd
21 31
22 32
23 33
24 34
#2nd and 4th 
21 41
22 42
23 43
24 44
#3rd and 4th
31 41
32 42
33 43
34 44

您可以使用类似于
pole[:,0:2]
的东西。它将给出前两列。 对于第二列和最后一列之类的内容,您可以执行
pole[:,[1,3]]

逗号前的第一个参数用于描述所需的行,第二个参数用于描述列。 :-意味着一切 0:2-表示从第0列开始到第2列(不包括在内)
或者您可以传递类似于[1,3]的列表,这意味着列位于位置1和3(索引以0开头)。

使用以下非常简洁的代码:

result = np.concatenate([ np.c_[pole[:,x], pole[:,y]]
    for x, y in np.c_[np.triu_indices(n=pole.shape[1], k=1)] ])
详情:

  • np.c_[pole[:,x],pole[:,y]]
    -生成 结果-列x和y的串联
  • 对于…中的x,y
    -生成一系列成对的列索引
  • np.concatenate
    -执行上述内容的垂直连接 “部分”
对于您的样本(杆),结果是:


请从下一页重复和。“演示如何解决此编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后就您的算法或技术提出具体问题。堆栈溢出不是为了替换现有的文档和教程。在遍历值并选择相应的列时,这是一个简单的问题。你被困在哪里?
pole[:,[0,1]]、pole[:,[0,2]]、…
[pole[:,[0,i]]用于范围(1,5)内的i
array([[11, 21],
       [12, 22],
       [13, 23],
       [14, 24],
       [11, 31],
       [12, 32],
       [13, 33],
       [14, 34],
       [11, 41],
       [12, 42],
       [13, 43],
       [14, 44],
       [21, 31],
       [22, 32],
       [23, 33],
       [24, 34],
       [21, 41],
       [22, 42],
       [23, 43],
       [24, 44],
       [31, 41],
       [32, 42],
       [33, 43],
       [34, 44]])