mah*_*kya 16 python numpy python-2.7
可能重复:
numpy:按列访问数组
我有一个numpy数组(numpy导入为np)
gona = np.array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
Run Code Online (Sandbox Code Playgroud)
我可以通过gona [1] [:]得到第1行整列的值.
数组([4,5,6])
但是如果我尝试获取所有行的特定列的所有值(比如我想要每行中第1列的值),我会尝试gona [:] [1].但是我得到的结果和以前一样.
这可能是什么原因?我怎么在numpy做这样的事情?
Joh*_*ard 37
你真的想这样做:
>>> a
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
>>> a[:,1]
array([ 2, 5, 8, 11])
Run Code Online (Sandbox Code Playgroud)
a[:]只返回整个数组,然后a[:][1]返回第二行a.我认为这就是你的困惑所在.
有关索引多维数组的更多信息,请参阅" 暂定Numpy教程"的这一部分.
在大括号的位置方面似乎存在轻微的混淆,gona[:][1]首先从数组中选择所有内容,然后从该数组中选择第二行.要选择特定列,请将索引放在用逗号分隔的相同方括号内:
gona = np.array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
gona[1,:]
Out[21]: array([4, 5, 6])
gona[:,1]
Out[22]: array([ 2, 5, 8, 11])
gona[:,0]
Out[23]: array([ 1, 4, 7, 10])
Run Code Online (Sandbox Code Playgroud)
例如,您也可以选择一系列行
gona[0:2,0] # only take the two first rows of the first column
Out[24]: array([2, 5])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76965 次 |
| 最近记录: |