我无法理解轴向参数。我来解释这个问题。
代码:np.split(b1,[1,3],axis=0)
实验结果:
[array([[1, 2, 3, 4]]),
array([[ 5, 6, 7, 8],
[ 9, 10, 11, 12]]),
array([[13, 14, 15, 16],
[17, 18, 19, 20]])]
字符串
代码:np.split(b1,[1,3],axis=1)
实验结果:
[array([[ 1],
[ 5],
[ 9],
[13],
[17]]),
array([[ 2, 3],
[ 6, 7],
[10, 11],
[14, 15],
[18, 19]]),
array([[ 4],
[ 8],
[12],
[16],
[20]])]
型
当我看到这个想法“如果axis=0,则表示对行进行运算,如果axis=1,则表示对列进行运算”,然后代码:
v1=np.array([[26.50940987, 22.97569521, 22.85657049, 9.0536725 ],
[25.98586589, 29.063503 , 16.32117152, 53.37755382],
[23.57720158, 34.10171715, 24.7272822 , 26.84495276],
[19.56007871, 43.61342762, 45.83942094, 16.36201912]])
v1=np.sort(v1,axis=0)
print(v1)
型
实验结果:
array([[19.56007871, 22.97569521, 16.32117152, 9.0536725 ],
[23.57720158, 29.063503 , 22.85657049, 16.36201912],
[25.98586589, 34.10171715, 24.7272822 , 26.84495276],
[26.50940987, 43.61342762, 45.83942094, 53.37755382]])
型
按列排序?当它的轴=1时,它按行排序。为什么会这样?有什么我不明白的?
1条答案
按热度按时间q9yhzks01#
由于只有2个维度,轴参数的“单词描述”可能是模糊的-至少在英语中是这样。我们是在轴上求和还是在轴上求和。有时看1d会有帮助,然后跳到3d(或更多)。然后,哪个轴消失了,哪个轴保留下来就更明显了。
np.sum
也取一个轴;用keepdims
和tuple
轴进行实验。对于(5,4)阵列的分裂,轴0使得(1,4),(2,4),(2,4);而轴1是(5,1)、(5,2)、(5,1)。轴表示哪个维度被分割。这对我来说似乎很清楚,但可能是因为我已经用得够多了。
对于
sort
,轴0对行进行排序,但对每一列单独进行排序。'sort on column'是一个不明确的描述符。总结一下,没有一种描述可以同样适用于所有情况。-
下面是
sum
的数组:字符串
创建一个3D数组:
型
返回到以轴0分割,用于3d阵列。size 5轴的相同1,2,2分割。
型