python基础学习笔记(一)numPy

发布时间:2024-12-01 08:54

学习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语句

随便看看