import numpy as np
# 标准正态分布数据
arr = np.random.randn(5, 4)
'''
sum 对数组中元素的求和
mean 算数平均数,零长度的数组的mean为NaN
std,var 分别是标准差和方差,自由度可以调(默认n)
min,max 最大最小值
argmin,argmax 分别为最大元素与最小元素的索引
cumsum 所有元素的累计和
cumprod 所有元素的累计积
'''
print(arr)
print(arr.mean())
print(np.mean(arr))
print(arr.sum())
# 求行上的算数均值
print(arr.mean(axis = 1))
arr =np.array([[0,1,2],[3,4,5],[6,7,8]])
print(arr)
# 返回的是一个数组,当前列到当前元素列上数字的累计和
print(arr.cumsum(0))
# 0 方向是列, 1 方向是行
print(arr.cumprod(1))
arr = np.random.randn(100)
print(arr)
print((arr > 0).sum()) # 统计大于0的个数
bools = np.array([False,False,True,False])
# 检查是否存在非0(False)元素
print(bools.any())
# 检查是否存在0(false)元素或检验是否数组中元素都非0
print(bools.all())
#排序
'''
unique(x) 计算x中的唯一元素,并返回有序数列
intersect1d(x,y) 计算x和y中的公共元素,并返回有序结果
union1d(x,y) 计算x和y的并集,并返回有序结果
in1d(x,y) 得到一个表示"x的元素是否包含于y"的布尔型数组
setdiff1d(x,y) 集合的差,即元素在x中且不在y中
setxor1d(2,y) 集合的对称差,即存在于一个数组中但不同时存在于
两个数组中的元素。
'''
arr=np.random.randn(8)
print(arr)
arr.sort()
print(arr)
arr =np.random.randn(5,3)
print(arr)
arr.sort(1) #以行维度进行排序
print(arr)
large_arr = np.random.randn(1000)
large_arr .sort()
print(large_arr [int(0.05*len(large_arr))]) # 求5%的分位数
'''唯一化以及其他的集合逻辑'''
names = np.array(['Bob','Joe','will','Bob','Joe','will'])
print(np.unique(names))
ints =np.array([3,3,3,2,2,1,1,4,4])
print(np.unique(ints))
'''以纯python也可实现'''
print(sorted(set(names)))
#测试数组中是否包含2,3,6
values = np.array([6,0,0,3,2,5,6])
print(np.in1d(values,[2,3,6]))
python学习12---numpy中的数学函数
最新推荐文章于 2022-08-09 11:36:03 发布