返回介绍

01. Python 工具

02. Python 基础

03. Numpy

04. Scipy

05. Python 进阶

06. Matplotlib

07. 使用其他语言进行扩展

08. 面向对象编程

09. Theano 基础

10. 有趣的第三方模块

11. 有用的工具

12. Pandas

数组方法

发布于 2022-09-03 20:46:13 字数 7796 浏览 0 评论 0 收藏 0

In [1]:

%pylab
Using matplotlib backend: Qt4Agg
Populating the interactive namespace from numpy and matplotlib

求和

In [2]:

a = array([[1,2,3], 
           [4,5,6]])

求所有元素的和:

In [3]:

sum(a)

Out[3]:

21

指定求和的维度:

沿着第一维求和:

In [4]:

sum(a, axis=0)

Out[4]:

array([5, 7, 9])

沿着第二维求和:

In [5]:

sum(a, axis=1)

Out[5]:

array([ 6, 15])

沿着最后一维求和:

In [6]:

sum(a, axis=-1)

Out[6]:

array([ 6, 15])

或者使用 sum 方法:

In [7]:

a.sum()

Out[7]:

21

In [8]:

a.sum(axis=0)

Out[8]:

array([5, 7, 9])

In [9]:

a.sum(axis=-1)

Out[9]:

array([ 6, 15])

求积

求所有元素的乘积:

In [10]:

a.prod()

Out[10]:

720

或者使用函数形式:

In [11]:

prod(a, axis=0)

Out[11]:

array([ 4, 10, 18])

求最大最小值

In [12]:

from numpy.random import rand
a = rand(3, 4)
%precision 3
a

Out[12]:

array([[ 0.444,  0.06 ,  0.668,  0.02 ],
       [ 0.793,  0.302,  0.81 ,  0.381],
       [ 0.296,  0.182,  0.345,  0.686]])

全局最小:

In [13]:

a.min()

Out[13]:

0.020

沿着某个轴的最小:

In [14]:

a.min(axis=0)

Out[14]:

array([ 0.296,  0.06 ,  0.345,  0.02 ])

全局最大:

In [15]:

a.max()

Out[15]:

0.810

沿着某个轴的最大:

In [16]:

a.max(axis=-1)

Out[16]:

array([ 0.668,  0.81 ,  0.686])

最大最小值的位置

使用 argmin, argmax 方法:

In [17]:

a.argmin()

Out[17]:

3

In [18]:

a.argmin(axis=0)

Out[18]:

array([2, 0, 2, 0], dtype=int64)

均值

可以使用 mean 方法:

In [19]:

a = array([[1,2,3],[4,5,6]])

In [20]:

a.mean()

Out[20]:

3.500

In [21]:

a.mean(axis=-1)

Out[21]:

array([ 2.,  5.])

也可以使用 mean 函数:

In [22]:

mean(a)

Out[22]:

3.500

还可以使用 average 函数:

In [23]:

average(a, axis = 0)

Out[23]:

array([ 2.5,  3.5,  4.5])

average 函数还支持加权平均:

In [24]:

average(a, axis = 0, weights=[1,2])

Out[24]:

array([ 3.,  4.,  5.])

标准差

std 方法计算标准差:

In [25]:

a.std(axis=1)

Out[25]:

array([ 0.816,  0.816])

var 方法计算方差:

In [26]:

a.var(axis=1)

Out[26]:

array([ 0.667,  0.667])

或者使用函数:

In [27]:

var(a, axis=1)

Out[27]:

array([ 0.667,  0.667])

In [28]:

std(a, axis=1)

Out[28]:

array([ 0.816,  0.816])

clip 方法

将数值限制在某个范围:

In [29]:

a

Out[29]:

array([[1, 2, 3],
       [4, 5, 6]])

In [30]:

a.clip(3,5)

Out[30]:

array([[3, 3, 3],
       [4, 5, 5]])

小于3的变成3,大于5的变成5。

ptp 方法

计算最大值和最小值之差:

In [31]:

a.ptp(axis=1)

Out[31]:

array([2, 2])

In [32]:

a.ptp()

Out[32]:

5

round 方法

近似,默认到整数:

In [33]:

a = array([1.35, 2.5, 1.5])

这里,.5的近似规则为近似到偶数值,可以参考:

https://en.wikipedia.org/wiki/Rounding

In [34]:

a.round()

Out[34]:

array([ 1.,  2.,  2.])

近似到一位小数:

In [35]:

a.round(decimals=1)

Out[35]:

array([ 1.4,  2.5,  1.5])

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文