您的位置:首页 > 编程语言 > Python开发

Python中的axis=0,axis=1/sum函数.sum(axis=1)

2017-04-19 10:12 225 查看
axis=0表述列 

axis=1表述行

concatenate

英 [kɒn'kætɪneɪt]   美 [kɑnˈkæt(ə)ˌneɪt]  

vt.

把 (一系列事件、事情等)联系起来

adj.

连接的,联系在一起的

如下面例子:
In [52]: arr=np.arange(12).reshape((3,4))
In [53]:arr
Out[53]:
array([[ 0,  1,  2,  3],
[ 4,  5,  6,  7],
[ 8,  9, 10, 11]])
In [54]:np.concatenate([arr,arr],axis=0)
Out[54]:
array([[ 0,  1,  2,  3],
[ 4,  5,  6,  7],
[ 8,  9, 10, 11],
[ 0,  1,  2,  3],
[ 4,  5,  6,  7],
[ 8,  9, 10, 11]])
In [55]:np.concatenate([arr,arr],axis=1)
Out[55]:
array([[ 0,  1,  2,  3,  0,  1,  2,  3],
[ 4,  5,  6,  7,  4,  5,  6,  7],
[ 8,  9, 10, 11,  8,  9, 10, 11]])

——————————————————————————————————————————————————————————————————

一般情况下

在sum(a,axis=0)

axis=0,矩阵列相加

axis=1,矩阵行相加

例如:

import numpy as np

np.sum([[0,1,2],[2,1,3],axis=1)

结果就是:array([3,6])

 

 下面是自己的实验结果,与上面的说明有些不符:

a = np.array([[0, 2, 1]])

print a.sum()
print a.sum(axis=0)
print a.sum(axis=1)

结果分别是:3, [0 1 2], [3]

 

b = np.array([0, 2, 1])

print b.sum()
print b.sum(axis=0)
print b.sum(axis=1)

结果分别是:3, 3, 运行错误:'axis' entry is out of bounds

 可知:对一维数组,只有第0轴,没有第1轴

c = np.array([[0, 2, 1], [3, 5, 6], [0, 1, 1]])

print c.sum()
print c.sum(axis=0)
print c.sum(axis=1)

结果分别是:19, [3 8 8], [ 3 14  2]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: