python基础学习笔记(一)numPy
学习Python基础语法:https://www.runoob.com/python/python-tutorial.html #生活技巧# #工作学习技巧# #编程学习资源#
numPy是高性能科学计算和数据分析的基础包,安装方法
pip install numpy
引用方式
import numpy as np
普通方式循环打印数组
import random
li = [random.uniform(100.0,200.0) for _ in range(1000)]
r = 6.3
list(map(lambda x:x*r,li))
'使用ndarray(数组内元素类型必须一样,数组大小固定)一个多维数组,每一个元素都乘以r
arr=np.array(li);
arr * r
已知购物车中商品的价格和数量求总金额
price = [random.uniform(50.0,10.0) for _ in range(100)]
num = [random.randint(1,5) for _ in range(100)]
sum = 0
for i in range(len(prize)):
sum += prize[i] * num[i]
sum
prize = np.array(prize)
num = np.array(num)
(prize * num).sum()
ndarry的数据类型dtype[布尔,整型,浮点,复数],32位整型区间(-2**31,2**31-1)
num.size获取数组大小
num.shape数组形状(以元祖形式)
num.ndim纬度
num.T数组的转置(行列转换)
数组类型转换
li = [1,2,3,4,5]
arr = np.array(li,dtype='float')
arr.dtype
np.arange(3,10,2); 生成一个数组,参数:起点,终点,步长[可以为小数]
np.linspace(1,10,10)生成一个数组数组前一位减后一位一样大,参数:起点,终点,步长[可以为小数]
np.zeros(10) 重建一个全0的数组
np.zeros((3,5),dtype='int')重建一个全0的多维数组
np.ones(10)生成一个全1的数组
np.empty(10)创建一个数组,不设定初始值,都是随机数
数组所索引取值
a[2][3]
a[2,3]
数组切片用冒号,a[1],a[2:3],构造二维数组切片
arr2d = np.arange(15).reshape(3,5)
arr2d[1:,1:4]参数[行,列]
数组赋值a[:] = 0
与列表不同,数组切片时不会自动复制,在切片数组上修改影响原数组,解决办法用copy()
li_a = [1,2,3,4,5]
li_b = li_a[1:3]
li_b[0] = 100
li_a
修改不影响li_a
arr = np.arange(10)
b = arr[3:6] 如果不想被修改可以copy一份arr[3:6].copy()
b[0] = 100
arr
给一个数组选出数组中大于5的数
li = [random.randint(0,10) for _ in range(50)]
list(filter(lambda x:x>5,li))
使用numpy下ndarry
arr = np.array(li)
arr[arr>5]
取出数组中大于5的偶数
arr[(arr>5)&(arr%2==0)]
取出指定下标的的元素
arr[[2,4,7]]
对二维数组选取第一列和第三列
arr2d[:,[1,3]]
注意
arr2d[[0,2],[1,3]]是取第一行第二个和第三行第四个
arr2d[[0,2],:][:,[1,3]]是取第一行和第三行的第1,3个元素
arr2d[[0,2],:][:,[1,3]]
常用函数
trunc 向零取整
round/rint 四舍五入
floor 向下取整
ceil 向上取整
modf 整数和小数部分分开,返回两个数组
nan 不是一个数float("NaN") nan !=nan
inf float("inf")无限大float("-inf")无限小
a = np.array([1,2,3,4,0])
b = np.array([1,0,3,4,0])
c= a/b
去掉所有nan
c[(~np.isinf(c)) & (~np.isnan(c))]
maximum 返回两个数组比较后较大的元素np.maximum(a,b)
minimum 返回两个数组比较后较小的元素
mean 平均数
var 方差(一组数的离散程度),每个数-平均数的平方 求和/数组长度
std 求标准差(方差开根号)
min 最小值 argmin 最小值的索引
max 最大值 argmax 最大值的索引
numpy下的随机数表random,一般都可以传递数组形状参数,返回数组
rand np.random.rand(100) 得到100个0,1之间的随机数
randint np.random.randint(1,8,(4,5)) 得到1,8之间的一个二维数组
choice np.random.choice([1,4,5,7,9],10) 从一个数组中随机选取10个数
shuffle 洗牌
uniform 返回指定范围内的随机小数
网址:python基础学习笔记(一)numPy https://www.yuejiaxmz.com/news/view/331996
相关内容
Python学习笔记——参数axis=0,1,2...Python中的Numpy、SciPy、MatPlotLib安装与配置
吴恩达深度学习笔记
python练习题(三)
python学习旅程笔记2
python 学习笔记24 图片视频修复
生活中的5 个自动化Python 项目——从初学者到高级(附零基础学习教程)
机器学习之数据预处理(Python 实现)
Python在语音识别技术中的突破性进展
Python学习笔记(四)—— If语句