2021-06-26-数据分析学习笔记3-Numpy其三

一、Numpy

通用函数

1.一元函数

在这里插入图片描述

2.二元函数

在这里插入图片描述
在这里插入图片描述

3.聚合函数

在这里插入图片描述
使用 np.sum 或者是 a.sum 即可实现。并且在使用的时候,可以指定具体哪个轴。同样Python 中也内置了 sum 函数,但是Python内置的 sum 函数执行效率没有 np.sum 那么高。

4.布尔判断函数

在这里插入图片描述
比如想看下数组中是不是所有元素都为0,那么可以通过以下代码来实现:

np.all(a==0) 
# 或者是
(a==0).all()

比如我们想要看数组中是否有等于0的数,那么可以通过以下代码来实现:

np.any(a==0)
# 或者是
(a==0).any()

5.排序

(1)np.sort

np.sort :指定轴进行排序。默认是使用数组的最后一个轴进行排序。

 a = np.random.randint(0,10,size=(3,5))
 b = np.sort(a) #按照行进行排序,因为最后一个轴是1,那么就是将最里面的元素进行排序,按行排序。
 c = np.sort(a,axis=0) #按照列进行排序,因为指定了axis=0

还有 ndarray.sort() ,这个方法会直接影响到原来的数组,而不是返回一个新的排序后的数
组。

(2)np.argsort

np.argsort :返回排序后的下标值

 np.argsort(a) #默认也是使用最后的一个轴来进行排序。
(3)np.sort

降序排序: np.sort 默认会采用升序排序。如果我们想采用降序排序。那么可以采用以下方
案来实现:

# 1. 使用负号
 -np.sort(-a)
# 2. 使用sort和argsort以及take
 indexes = np.argsort(-a) #排序后的结果就是降序的
 np.take(a,indexes) #从a中根据下标提取相应的元素

6.其他函数补充

(1)np.apply_along_axis

np.apply_along_axis :沿着某个轴执行指定的函数。

# 求数组a按行求均值,并且要去掉最大值和最小值。
 np.apply_along_axis(lambda x:x[(x != x.max()) & (x != x.min())].mean(),axis=1,arr=
a)
(2)np.linspace

np.linspace :用来将指定区间内的值平均分成多少份。

# 将0-1分成12分,生成一个数组
 np.linspace(0,1,12)
(3)np.unique

np.unique :返回数组中的唯一值。

# 返回数组a中的唯一值,并且会返回每个唯一值出现的次数。
 np.unique(a,return_counts=True)

7.部分代码示例

import numpy as np

# 函数原型:numpy.random.uniform(low,high,size)
# 从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,
# 即包含low,不包含high.
a = np.random.uniform(-10,10,size=(3,5))
print(a)

# 求绝对值
print("绝对值:")
print(np.abs(a))

# 开根号
print("开根号:")
print(np.sqrt(a))

# 二元函数
# add
print("二元函数 add:")
print(np.add(a,np.random.randint(0,5,size=(3,1))))

# 大于 a[a>0]
print("a > 0 = ")
print(a[np.greater(a,0)])
# 大于且小于 a[(a>0)&(a<5)]
print("0 < a < 5 = ")
print(a[np.logical_and(a>0,a<5)])

# 求最小值
print("最小值:")
print(a)
print(np.min(a,axis=0)) # 列
print(np.argmin(a,axis=0)) # 列

# 排序
# 倒序:除了下面这个方法,也可以用 -np.sort(-a)
print("排序 - 倒序:")
indexes = np.argsort(-a)
np.take(a,indexes)

print("="*30)
c = np.random.randint(0,100,size=(3,20))
print("c = ")
print(c)
print("="*30)

# np.apply_along_axis :沿着某个轴执行指定的函数
# def get_mean(x):
#     y =x[np.logical_and(x!=x.max(),x!=x.min())].mean()
#     print(y)
#     print("="*30)
#     return y

np.apply_along_axis(lambda x:x[np.logical_and(x!=x.max(),x!=x.min())].mean(),axis=1,arr=c)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习的代码小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值