import numpy as np
arr = np.random.randn(3, 4)
arr
array([[-0.88890007, 0.43451555, -0.32082365, -0.66832376],
[ 1.21584378, -1.1086847 , 0.28206634, 0.81483576],
[ 1.19277385, -1.30662326, -0.52841719, 0.60418654]])
# 取最接近的比自己大的整数
print(np.ceil(arr))
[[-0. 1. -0. -0.]
[ 2. -1. 1. 1.]
[ 2. -1. -0. 1.]]
# 取最接近的比自己小的整数
print(np.floor(arr))
[[-1. 0. -1. -1.]
[ 1. -2. 0. 0.]
[ 1. -2. -1. 0.]]
# 四舍五入
print(np.rint(arr))
[[-1. 0. -0. -1.]
[ 1. -1. 0. 1.]
[ 1. -1. -1. 1.]]
# 取每个元素的绝对值
print(np.abs(arr))
[[ 0.88890007 0.43451555 0.32082365 0.66832376]
[ 1.21584378 1.1086847 0.28206634 0.81483576]
[ 1.19277385 1.30662326 0.52841719 0.60418654]]
#nan = not a number 表示不是一个可以用来计算的数值
# 可以创建一个 nan 数值
num = np.nan
print(np.isnan(arr))
print(np.isnan(num))
[[False False False False]
[False False False False]
[False False False False]]
# 数组和数组之间每个元素相乘,返回计算后的数组
# 参数可以是数组,也可以是数字
print(arr)
print(np.multiply(arr, arr))
print(np.multiply(arr[2, 3], arr[0, 1]))
[[-0.88890007 0.43451555 -0.32082365 -0.66832376]
[ 1.21584378 -1.1086847 0.28206634 0.81483576]
[ 1.19277385 -1.30662326 -0.52841719 0.60418654]]
[[ 0.79014334 0.18880376 0.10292781 0.44665664]
[ 1.4782761 1.22918175 0.07956142 0.66395732]
[ 1.42270947 1.70726435 0.27922473 0.36504138]]
0.262528449667
# 相除
print(np.divide(arr, arr))
print(np.divide(arr[2,3], arr[0,2]))
[[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]]
-1.88323569173
# 三目运算符, 三元运算符
# 包含三个参数,第一个参数是条件语句,第二个参数是条件为真的返回值,第三个参数是条件为假时候的返回值
# 返回值用来替换原数组的元素
print(np.where(arr < 0, -1, 0))
[[-1 0 -1 -1]
[ 0 -1 0 0]
[ 0 -1 -1 0]]
ndarray的统计函数
arr = np.random.randint(0, 10, (3, 4))
print(arr)
[[7 5 9 7]
[2 3 4 1]
[9 8 6 9]]
# 求数组里所有元素的平均值
print(np.mean(arr))
4.91666666667
# 求数组里所有元素的和
print(np.sum(arr))
59
# 求数组里的最大值
print(np.max(arr))
9
# 求数组里的最小值
print(np.min(arr))
0
# 衡量数据和期望值之间的偏离值
# 标准差:所有元素分别和 平均数的差 的和 的平均数
print(np.std(arr))
3.22641011377
#方差:所有元素分别和 平均数的差 的平方 的和 的平均数
print(np.var(arr))
10.4097222222
# 如果是多维数组,将多维合并为一维数组,再找到第一个最大值的索引下标
# 如果是一维数组,则找到第一个最大值的索引下标
print(np.argmax(arr))
2
# 同上,求最小值的索引下标
print(np.argmin(arr))
7
# 返回一个一维数组,数组的每个元素都是之前所有元素的累加的和
print(arr)
print(np.cumsum(arr))
[[7 5 9 7]
[2 3 4 1]
[9 8 6 9]]
[ 7 12 21 28 30 33 37 38 47 55 61 70]
# 返回一个一维数组,数组的每个元素都是之前所有元盛怒的累乘的积
print(np.cumprod(arr))
[ 7 35 315 2205 4410 13230 52920
52920 476280 3810240 22861440 205752960]
元素的判断函数
arr = np.random.rand(3, 4)
print(arr)
[[ 0.09727262 0.37038754 0.19484122 0.58412112]
[ 0.8478192 0.70669709 0.76153685 0.08019947]
[ 0.3421466 0.67078059 0.70866418 0.31219444]]
# 数组里有任意一个元素满足条件,返回True
print(np.any(arr > 0.5))
True
# 数组里所有元素满足条件,返回True
print(np.all(arr > 0.5))
False
来源:CSDN
作者:曾鸿举
链接:https://blog.csdn.net/zenghongju/article/details/104581836