Python 官方文档:入门教程 => 点击学习
文章目录 np.rangenp.quantilenp.digitizenp.randomrandseedpermutation np.uniquenp.zerosnp.sumnp.log
首先导入numpy
import numpy as np
np.range(start, end, step)
: 获取指定区间和步长的列表。
np.arange(0, 1, 0.1) # 区间: [0, 1), 步长: 0.1
np.quantile(mlst, bins)
:按指定比例获取数据列表的分位数值。比如: 要获取mlst=[0,1,2,3,4]
的bins=[0.5]
分位数(即50%分位数):bined=[2]
。
# 指定比例bins = np.arange(0, 1, 0.1) # 数据列表mlst = range(0, 101)# 分位数值MQtl = np.quantile(mlst, bins)mQtl
np.digitize(mlst, bined)
:对应mlst列表中的数据落在bined对应数值(区域)的索引。
mlst = range(0, 101)bins = np.arange(0, 1, 0.1)mqtl = np.quantile(mlst, bins)binned = np.digitize(mlst, mqtl)binned
np.random.rand(int)
:生成int个[0,1)之间的随机数
np.random.rand(4)
注意:多次随机输出的数据不同。
np.random.seed(int)
:生成随机数前,指定随机种子为int,用于固定随机输出值。
np.random.seed(0) # 指定种子为0np.random.rand(4) # 生成4个[0,1)之间的随机数
注意:固定种子后,多次随机生成的值相同。
np.random.permutation(list)
:打乱原来的list顺序。
np.random.permutation(range(10))
np.unique(list, return_inverse=True)
对list去重复,return_inverse
指定是否返回:原数组元素对应的去重后的索引。
lst = np.array([1,2,3,2,3,4,5])ulst, ilst = np.unique(lst, return_inverse=True)print(ulst)print(lst)print(ilst)
生成全为0的数组,可以指定多个维度。
np.zeros(5)np.zeros((3, 5))np.zeros((3, 2, 5))
也可通过np.zero_like
获取相同形状的数组。
np.zeros_like([1,2,3])np.zeros_like([[1,2,3], [2,3,4]])
对数组求和。
np.sum([1,2,3]) # 求所有元素之和np.sum([[1,2,3], [2,3,4]]) # 求所有元素之和np.sum([[1,2,3], [2,3,4]], 0) # 按列求和np.sum([[1,2,3], [2,3,4]], 1) # 按行求和
类似求和:求均值np.mean
、求最小np.min
、求最大np.max
np.log
以 e e e为底取对数。np.log2
以 2 2 2为底。np.log10
以 10 10 10为底。
lst = np.array([1,2,3,2,3,4,5])np.log(lst)
取对数前后:
import matplotlib.pyplot as pltp1 = plt.scatter(range(len(lst)), lst, label='raw')p2 = plt.scatter(range(len(lst)), np.log(lst), label='log')plt.legend()
转置。与.T
相同。
np.array([[1,2,3], [2,3,4]]).transpose()np.array([[1,2,3], [2,3,4]]).T
np.array([1,2])!=0
未完待续。。。
RandomState
np.random.RandomState(int_seed)
default_rng
np.random.default_rng(int_seed)
更多:
来源地址:https://blog.csdn.net/sinat_32872729/article/details/134027471
--结束END--
本文标题: 【python】numpy常用属性
本文链接: https://www.lsjlt.com/news/450626.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0