numpy常见函数介绍

1.fabs函数:
data_test = np.random.randint(-10,10,[3,4])
print(“primitive data:”)
print(data_test)

#fabs
print(“fabs:”)
print(np.fabs(data_test))
说明:
a.求取矩阵每个元素的绝对值,返回一个矩阵
b.不能求取complex(复数)类型的绝对值

2.sqrt函数:
#sqrt
print(“sqrt:”)
print(np.sqrt(np.fabs(data_test)))
说明:
a.求取矩阵每个元素的平方根,返回一个矩阵
b.如果元素是负值,计算结果是nan

3.square函数:
#sqare
print(“square:”)
print(np.square(data_test))
说明:求取矩阵每个元素的平方值,返回一个矩阵

4.exp函数:
#exp
print(“exp:”)
print(np.exp(np.array([1,2,3])))
说明:用e做基数,矩阵每个元素做幂次,求取对应的值,返回一个矩阵

5.log函数:
(1)log2
#log2
data_log2 = np.logspace(0,5,6,base = 2)
print();
print(“primitive data:”)
print(data_log2)
print(“log2:”)
print(np.log2(data_log2))
说明:求取以2为底,矩阵每个元素对应的对数值
(2)log10
说明:同log2,把底数改为10
(3)log
说明:同log2,把底数改为e
(4)log1p
说明:求取以e为底,矩阵每个元素加一后对应的对数值
(5)如果想求取以其他数字(比如5)为底的对数值,则需要使用换底公式:
log5(x) = ln(x) / ln(5)

6.取整函数:
(1)ceil函数:
print(“ceil:”)
print(np.ceil(data_log1p))
说明:向上取整
(2)floor函数:
print(“floor:”)
print(np.floor(data_log1p))
说明:向下取整
(3)rint函数:
np.rint(data_log1p)
说明:根据四舍五入规则取整
(4)around函数:
print(“around”)
print(np.around(data_log1p,decimals = 2))
说明:根据四舍五入规则,取对应的小数位数

7.把整数和小数部分分离:
print(np.modf(data_log1p))
说明:
a.返回两个矩阵,一个矩阵为整数部分,一个矩阵为小数部分
b.返回矩阵的形状与原来矩阵的形状一致

8.判断是否为异常值的函数:
(1)isnan函数:
#isnan
print()
print(“primitive data:”)
data_primitive = np.random.randint(-10,10,[2,3])
print(data_primitive)

print(“sqrt:”)
data_sqrt = np.sqrt(data_primitive)
print(data_sqrt)

print(“delet nan:”)
res = data_sqrt[~np.isnan(data_sqrt)]
print(res)
说明:
a.判断是否为nan值,返回一个bool矩阵
b.求平方根的时候,如果是负数,会返回nan值,可以配合取反操作符(~),删除nan元素,但是返回的是一维数组

(2)isfinite函数:
data_handle = data_primitive[np.isfinite(data_primitive)]
说明:nan值和inf值不属于finite值,其余属于finite(有限)值.用于寻找数据中不是nan和inf的值

(3)isinf:
data_handle = data_primitive[np.isinf(data_primitive)]
说明:
a.判断是否为inf值,返回一个bool矩阵
b.可以配合取反操作符(~),删除inf元素,但是返回的是一维数组

9.取余操作
mod函数:
#取余操作
data_test = np.arange(5)
print(“primitive data:”)
print(data_test)
print(“mod 2:”)
print(np.mod(data_test,2))
print(“mod 3:”)
print(np.mod(data_test,3))

print(“mod array:”)
data_mod =np.array([0,2,3,1,2])
print(np.mod(data_test,data_mod))
说明:
a.要求两个矩阵的形状是一样的,才能运算
b.如果矩阵有一维是1维的,则进行数组广播,自动将数组扩展为对应的形状

10.比较操作:
(1)==函数:
#比较操作
data_test = np.arange(5)
data_mod =np.array([0,2,3,1,2])
print(“data_test:”)
print(data_test)
print(“data_mod:”)
print(data_mod)

print("==")
print(data_test == data_mod)
说明:返回一个bool矩阵,可用来筛选数组数据

(2)!=函数:
print(data_test != data_mod)
说明:返回一个bool矩阵,可用来筛选数组数据

11.逻辑操作:
(1)logical_and函数:
print(“np.logical_and:”)
print(data_test[np.logical_and(data_test>3,data_test<5)])
说明:
a.bool矩阵中logical_and与&的作用是一致的.
b.如果不是bool矩阵,logical_and把矩阵视作bool矩阵,&则直接按位求与运算
(2)logical_or函数:
说明:参照logical_and函数
(3)logical_not函数:
说明:参照logical_and函数

12.乘方操作:
(1)power函数:
np.power(data_test,data_mod)
说明:
a.要求两个矩阵的形状是一样的,才能运算
b.如果矩阵有一维是1维的,则进行数组广播,自动将数组扩展为对应的形状

猜你喜欢

转载自blog.csdn.net/qq_35833972/article/details/89445636