python学习12---numpy中的数学函数

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]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值