python学习笔记第二十二天--------NumPy(三)

强颜欢笑 提交于 2020-03-01 01:34:12
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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!