栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【numpy】笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【numpy】笔记

【numpy】笔记
  • 一、什么是numpy?
  • 二、创建数组
  • 三、数组的形状
  • 四、numpy读取数据
  • 五、numpy索引和切片
  • 六、numpy中数值的修改
    • 6.1、布尔修改法
    • 6.2、where()
    • 6.2、clip()
  • 七、数组的拼接
  • 八、numpy常用方法
  • 九、常用的统计函数
  • 十、数组广播

一、什么是numpy?

一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算

二、创建数组
import random
import numpy as np

#使用numpy生成数组,得到ndarray的类型
t1=np.array([1,2,3,4])
print(t1.dtype) #int32

t2 =np.array (range(1,4) ,dtype=float)
print(t2.dtype)

#调整数据类型
t3 = t2.astype("int8")
print(t3.dtype)

#numpy中的小数
t4 = np.array ([random.random() for i in range( 10)])
print(t4)
print(t4.dtype),

#修改小数位
t5 = np.round(t4,2)
print(t5)
三、数组的形状

shape()返回值
(m)代表m列
(m,n)代表m行n列的矩阵
(aXmXn)代表a个m行n列的矩阵

t6=np.array([[1,2,3],[4,5,6]])
print(t6.shape) #(2, 3)
print(t6.reshape(6))
print(t6.flatten()) #扁平化(一维)
四、numpy读取数据
np.loadtxt(frame.dtype=np.float.delimiter=None,skiprows=O,usecols=None,unpack=False)
参数解释
frame文件、字符串或产生器,可以是.gz或bz2压缩文件
dtype数据类型,可选,CSV的字符串以什么数据类型读入数组中,默认np.float
delimiter分隔字符串,默认是任何空格,改为逗号
skiprows跳过前x行,一般跳过第一行表头
usecols读取指定的列,索引,元组类型
unpack如果True,读入属性将分别写入不同数组变量,False 读入数据只写入一个数组变量,默认False
五、numpy索引和切片
data[1]#取一行
data[:,2]#取一列
data[1:3]#取多行
data[:,2:4]#取多列
data[[2,8,10]]#取不连续的多行
data[:,[0,2]]#取不连续的多列
data[2:5,1:4]#取多行和多列,取第3行到第五行,第2列到第4列的结果
data[[0,2],[0,1]]#取多个不相邻的点
六、numpy中数值的修改 6.1、布尔修改法
data[data<10]= 666# 修改data里小于10的值为666
6.2、where()
np.where(data<10,0,10)# 把data中小于10的改为0,否则改为10
6.2、clip()
data.clip(10,18)#小10的替换为10、大于18的替换为了18.
七、数组的拼接
np.vstack ((t1,t2)) #竖直拼接(vertically) 上下
np.hstack ((t1,t2)) #水平拼接(horizontally)左右

t[[1,2],:] = t[[2,1],:]#行交换
t[ :,[0,2]] = t[:,[2,0]]#列交换

八、numpy常用方法
#构造全为0的数据
np.zeros((2, 1))

#构造全为1的数据
np.ones((2, 1))

#获取最大值最小值的位置
np.argmax(t.axis=O)
np.argmin(t.axis=1)

#创建一个对角线为1的正方形数组(方阵):
np.eye(3)

#创建3列随机数矩阵
np.random.rand(3)

a = b.cope()#复制,a和b互不影响
九、常用的统计函数

求和:t.sum(axis=None)
均值: t.mean(a,axis=None)受离群点的影响较大
中值: np.median(t.axis=None)
最大值: t.max(axis=None)最小值:t.min(axis=None)
极值: np.ptp(t.axis=None)即最大值和最小值只差

十、数组广播

广播原则:
如果两个数组的后缘维度(即:从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的轴上进行.

ndarray.ndim
维度个数,也就是数组轴的个数,比如一维、二维、三维等数组的维度。这是一个整数的元组,表示每个维度上数组的
ndarray.shape
大小。例如,一个n行和m列的数组,它的shape属性为(n,m)
ndarray.size
数组元素的总个数,等于shape属性中元组元素的乘积
描述数组中元素类型的对象,既可以使用标准的 Python类型
ndarray.dtype
创建或指定,也可以使用NumPy特有的数据类型来指定,比如numpy.int32、numpy.float64等
数组中每个元素的字节大小。例如,元素类型为float64的数
ndarray.itemsize
组有8(64/8)个字节,这相当于ndarray.dtype.itemsize
arange()
通过arange()函数可以创建一个等差数组,它的功能类似于range(),只不过arange()函数返回的结果是数组,而不是列表 np.arange(1, 20, 5)
unique()
unique()函数来找出数组中的唯一值,并返回排序后的结果
in1d()
in1d()函数用于判断数组中的元素是否在另一个数组中存在,该函数返回的是一个布尔型的数组

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674542.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号