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

python-jinlou-day13

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

python-jinlou-day13

numpy 简介
# 数据类型 : 数字/列表/字符串/元组/字典/集合
# if 判断  while循环和 for 循环
# 函数: 封装思想
# 面向对象
# 科学计算库 numpy
# numpy 不在python标准库里
# 安装 第三方工具包
# pip3 install 包名
# pip3 install numpy
# pip3 install matplotlib
import numpy as np
print(np.__version__)
# numpy n 维数组
# numpy 特点 : 1. 支持矢量化运算, 2. 运算速度快
vec1 = [1, 2]
vec2 = [3, 4]
print(vec1 + vec2) # [1, 2, 3, 4]
# pyhon中的列表不支持数学运算

  • 创建numpy的方式
import numpy as np
# 1. np.array()传入python列表
vec1 = [1, 2]
vec2 = [3, 4]
arr1 = np.array(vec1)
print(arr1)
arr2 = np.array(vec2)
print(arr2)
print(arr1 + arr2)
print(type(arr1)) # 
matrix1 = np.array([vec1, vec2])
matrix2 = np.array([[3, 4], [5, 6]])
print(matrix1)
print(matrix2)
print(matrix1 + matrix2)
# 2 np.arange()
arr3 = np.arange(1, 11, 1.5) # 步长可以是小数
print(arr3)
matrix3 = np.arange(15).reshape((3, 5))
print(matrix3)

  • numpy的属性
import numpy as np
x = np.arange(0, 15, 1.)
X = np.arange(15).reshape(3, 5)
print(x)
print(X)

# ndim 维度
print(x.ndim) # 1
print(X.ndim) # 2
# shape 形状
print(x.shape) # (15,)
print(X.shape) # (3, 5)
# size 元素个数
print(x.size) # 15
print(X.size) # 15
# dtype 元素数据类型
print(x.dtype)
print(X.dtype)

  • numpy的访问
import numpy as np
x = np.arange(0, 15, 1.)
X = np.arange(15).reshape(3, 5)
print(x)
print(X)

# 单个访问
print(x[3])
print(X[0])
print(X[1][1]) # 6
# [行索引, 列索引]
print(X[1, 1]) # 6

# 切片: 访问序列的一部分
print(x[:5])
# [行切片, 列切片]
print(X[1:, 3:])
print('2-----')
print(X[:, 2:4])
print(X[1:, 1:4])
  • numpy的运算
# 随机矩阵
import numpy as np
m1 = np.random.randint(0, 101, (3, 5))
m2 = np.random.randint(0, 101, (3, 5))
m3 = np.random.randint(0, 101, (5, 3))
# m1 = np.array([[1, 2, 3], [1, 2, 3]])
# m2 = np.array([[1, 2, 3], [1, 2, 3]])
# m3 = np.array([[1, 2], [1, 2], [1, 2]])
print(m1)
print(m2)
print(m3)
print("===="* 10)
print(m1+m2)
print("===="* 10)
print(m1*m2) # 哈达玛积
print("===="* 10)
print(m1.dot(m3)) # 重点
print("===="* 10)
print(m1* 10)
print(m1.T) # 转置
print("===="* 10)
print(m1.dot(m1.T)) # 转置

  • 花式索引
# 随机矩阵
import numpy as np
m1 = np.random.randint(0, 101, (3, 5))
print(m1)
ls = [0, 2]
print(m1[ls]) # 访问多行

print(m1[[0, 1], [0, 1]])
print(m1[[0, 1, 2], [0, 1, 2]]) # 坐标点
  • 布尔索引
# 随机矩阵
import numpy as np
m1 = np.random.randint(0, 101, (5, 4))
print(m1)
ls = [0, 2]
print(m1[ls]) # 访问多行

print(m1[[0, 1], [0, 1]])
print(m1[[0, 1, 2], [0, 1, 2]]) # 坐标点
# 布尔索引
names = np.array((['a', 'b', 'c', 'a', 'b']))
print(names)
print(names == 'a')
print(m1[[True, False, False,True,False]])

# 常用写法
print(m1[names != 'a'])

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

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

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