语法ndarray[:,list[i]]在python中是什么意思?
我正在网上看Python教程。我对Python一无所知,所以我搜索了一下,没有找到答案 有些代码如下所示:语法ndarray[:,list[i]]在python中是什么意思?,python,numpy,syntax,Python,Numpy,Syntax,我正在网上看Python教程。我对Python一无所知,所以我搜索了一下,没有找到答案 有些代码如下所示: s = np.tanh(self.X[:,Y[t]]) 其中,X是ndarray,Y是列表列表列表(其中每个列表都是整数类型), np是一个numpy对象,tanh是双曲正切 这个语法是什么意思?在numpy的上下文中,它可以例如允许访问列,因此例如在您的示例中X[:,Y[t]]中,它允许您访问X的列,该列由Y[t]中的值索引 :基本上表示“所有行”,而Y[t]指定列索引 下面是一个简单
s = np.tanh(self.X[:,Y[t]])
其中,X
是ndarray,Y
是列表列表列表(其中每个列表都是整数类型),
np
是一个numpy对象,tanh
是双曲正切
这个语法是什么意思?在numpy的上下文中,它可以例如允许访问列,因此例如在您的示例中
X[:,Y[t]]
中,它允许您访问X
的列,该列由Y[t]
中的值索引
:
基本上表示“所有行”,而Y[t]
指定列索引
下面是一个简单的示例,可以看到它的实际应用:
In [1]: import numpy as np
In [3]: m = np.array([['a', 'b'], ['c', 'd'], ['f', 'g']])
In [4]: m[:, 0]
Out[4]:
array(['a', 'c', 'f'],
dtype='|S1')
In [5]: m[:, 1]
Out[5]:
array(['b', 'd', 'g'],
dtype='|S1')
如果“列索引”是一个列表怎么办?
如果您使用m[:,some_list]
,则:
冒号将要求所有行,然后列将是some_list
中的列索引,按此顺序排列
例如,如果我们想要所有的行和列[1,0]
(按该顺序排列),您可以得到以下结果:
In [53]: m[:, [1, 0]]
Out[53]:
array([['b', 'a'],
['d', 'c'],
['g', 'f']],
dtype='|S1')
你能展示一些示例代码吗?我怀疑所描述的代码是否有效。
X
几乎肯定不是列表列表,但可能是一个numpy ndarray。@DSM X是使用“np.random.uniform”生成的。抱歉,正如我所说,我是python新手。实际上Y[t]也是一个列表。也就是说,Y本身就是一个列表列表。所以Y[t]应该是[2,4,5,6,8,…]。那么X[:,Y[t]]的输出是什么呢?可能的猜测!输出可以是。。。m[:,[0,1]=>['a','c','f','b','d','g']我说得对吗?@HemendraSharmam[:,[0,1]]
会要求“第0列和第1列中的所有m行”,我在回答中添加了跟踪来解释