gpt4 book ai didi

python - 为什么 NumPy 中的轴参数会改变?

转载 作者:行者123 更新时间:2023-12-04 03:34:24 24 4
gpt4 key购买 nike

当涉及到 NumPy 轴参数的逻辑时,我很困惑。在某些情况下,当轴 = 0 时它会影响行,而在某些情况下当轴 = 0 时它会影响列。示例:

a = np.array([[1,3,6,7,4],[3,2,5,9,1]])
array([[1,3,6,7,4],
[3,2,5,9,1]])

np.sort(a, axis = 0) #This sorts the columns
array([[1, 2, 5, 7, 1],
[3, 3, 6, 9, 4]])

np.sort(a, axis=1) #This sorts the rows
array([[1, 3, 4, 6, 7],
[1, 2, 3, 5, 9]])

#####################################################################
arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
arr
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])

np.delete(arr,obj = 1, axis = 0) # This deletes the row
array([[ 1, 2, 3, 4],
[ 9, 10, 11, 12]])

np.delete(arr,obj = 1, axis = 1) #This deletes the column
array([[ 1, 3, 4],
[ 5, 7, 8],
[ 9, 11, 12]])

如果这里有我缺少的逻辑,我很乐意学习它。

最佳答案

将它记为 0=down 和 1=across 可能是最简单的。

这意味着: enter image description here使用 axis=0 将方法应用到每一列或行标签(索引)。使用 axis=1 将方法应用于每一行或列标签。这是一张图片,显示了每个轴所指的 DataFrame 部分:

记住 Pandas 遵循 NumPy 对轴这个词的使用也很有用。 NumPy 的术语表中解释了用法:

轴是为多于一维的数组定义的。二维数组有两个对应的轴:第一个垂直向下跨行(轴 0),第二个水平跨列(轴 1)。 [我的重点]

因此,关于问题中的方法 np.sort(axis=1),似乎已正确定义。它采用水平跨列的条目的平均值,即沿每个单独的行。另一方面,np.sort(axis=0) 将是一个跨行垂直向下的操作。

同样,np.delete(name, axis=1) 指的是对列标签的操作,因为它们直观地穿过水平轴。指定 axis=0 将使该方法改为作用于行。

关于python - 为什么 NumPy 中的轴参数会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67200368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com