赞
踩
·求元素之和:
arr.sum() or np.sum(arr)
·求平均值:
arr.mean() or np.mean(arr)
·求最大、最小值:
arr.max() or np.max(arr)
arr.min() or np.min(arr)
·求最大、最小值的下标索引:
arr.argmax() or np.argmax(arr)
arr.argmin() or np.argmin(arr)
·求标准差和方差:
标准差:arr.std() or np.std(arr)
方差:arr.var() or np.var(arr)
·求中位数:
np.median(arr)
import numpy as np
先生成一个含有10个元素的numpy数组:
- arr = np.random.randint(0, 20, size=10)
- print("arr:\n", arr)
(求元素之和)
- # 第一种:求中位数时,不可使用此方法
- print("元素之和:", arr.sum())
- # 第二种:直接调用numpy库中的sum方法,传入参数为numpy数组,任何情况下都适用
- print("元素之和:", np.sum(arr))
运行结果:
(求平均值)
- # 求numpy数组中所有元素的平均值:mean()方法
- print("元素平均值:", arr.mean())
运行结果:
(求最大、最小值)
- # 求numpy数组中元素的最大、最小值:max()方法、min()方法
- print(f"元素最大值:{arr.max},元素最小值:{arr.min}")
运行结果:
(求最大、最小值的索引下标)
- # 求最大最小元素的下标:
- print(f"最大值下标为{arr.argmax()},最小值下标为{arr.argmin()}")
运行结果:
(求标准差和方差)
- # 求所有元素的标准差和方差:
- print(f"标准差为{arr.std()},{np.std(arr)}方差为{arr.var()}")
运行结果:
(求中位数)
- # 注意,求中位数时,不可以”arr.median()“,因为arr并不具备排序方法,所以会报错
- print(f"中位数为{np.median(arr)}")
运行结果:
any:检测一个布尔列表BOOL中,是否至少存在一个True。只要存在一个True,则返回True;反之,则返回False
all:检测一个布尔列表BOOL中,是否全为True。全为True时,返回True;反之,则返回False
- bool_list = np.array([True, False, True, True, False, False, False])
- print(bool_list.any())
- print(bool_list.all())
运行结果:
特点:它本身是一种机制,而不是一种语法原则,会自动进行补维
支持numpy.array和任意一个数运算
一个数可以和一个数组进行运算,运算方式:
将这个数和数组中每个元素进行相应的运算,返回值依旧为一个数组,且为布尔数组
最多使用:一个数组和一个零维数字进行运算
- arr = np.random.randint(0, 100, size=8)
- return_bool = arr > 50
- print(arr, "\n", return_bool)
- print(arr[return_bool])
- # 查看一个数组中,是否至少存在一个大于70的数
- print("数组中至少存在一个大于70的数:", (arr > 70).any())
- # 不能广播运算的例子:
- m = np.ones(shape=(2, 2))
- n = np.ones(shape=(3, 3))
- # 此处会报错
- print(m + n)
运行结果:
- # 矩阵运算
- a = np.array([[1, 2], [3, 3]])
- b = np.array([[1, 1], [3, 3]])
- # 错误示范,此种情况下,会进行对应位置相乘,并不是数学意义中的矩阵运算
- print(a * b)
- # 正确示范
- print(np.dot(a, b))
运行结果:
- # 排序(了解即可,panda会有更好的排序方式)
- data = np.random.randint(0, 100, size=20)
- print(data)
- # 将生成数,按从小到大的顺序排列
- print(np.sort(data))
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。