当前位置: 首页 > wzjs >正文

有没有个人网站珠海百度推广优化排名

有没有个人网站,珠海百度推广优化排名,网站二级目录做网站,石景山上海网站建设一、NumPy 简介 1.1 NumPy 特性 高性能科学计算库:专为处理多维数组设计,底层用 C 语言实现,运算速度远超 Python 原生列表。 矢量运算:支持批量数据操作,避免显式循环,代码更简洁高效。 广播机制&…

一、NumPy 简介

1.1 NumPy 特性

  • 高性能科学计算库:专为处理多维数组设计,底层用 C 语言实现,运算速度远超 Python 原生列表。
  • 矢量运算:支持批量数据操作,避免显式循环,代码更简洁高效。
  • 广播机制:自动处理不同形状数组间的运算。
  • 丰富函数库:包含线性代数、傅里叶变换、随机数等功能。

1.2 应用场景

  • 数据分析:处理大规模结构化数据。
  • 机器学习:作为 TensorFlow/PyTorch 等框架的底层支持。
  • 科学计算:物理模拟、统计学分析。
  • 图像处理:多维数组表示像素数据。

1.3 安装与导入

pip install numpyimport numpy as np

二、NumPy 基础 —— 数组对象

2.1 数组与列表对比

特性

NumPy 数组 (ndarray)

Python 列表 (list)

数据类型

元素类型必须一致

可包含任意类型元素

内存存储

连续内存空间,访问速度快

非连续存储,访问较慢

运算效率

支持向量化运算,速度快

需显式循环,速度慢

维度支持

支持 n 维数组

仅支持一维结构

2.2 创建数组的四种方式

方法

语法

示例

np.array()

从列表 / 元组创建

arr1 = np.array([10, 20, 30, 40])

np.arange()

生成等差数列

arr2 = np.arange(0, 10, 2)

np.random

生成随机数组

arr3 = np.random.random((2, 3))

特殊函数

zeros/ones/full/eye

arr_zeros = np.zeros((3, 3))

代码示例
通过np.array创建数组
import numpy as np
a = np.array([1, 2, 3, 4])
print(a)  # 输出结果: [1 2 3 4]
通过np.arange创建数组
import numpy as np
a = np.arange(0, 10, 2)  # 创建0-10,步数为2的数组
print(a)  # 输出结果: [0 2 4 6 8]
通过np.random.random创建数组
import numpy as np
a = np.random.random((2, 3))
print(a)  # 输出类似于: [[0.04631855 0.21257259 0.73199394]#          [0.59865848 0.15601864 0.15599452]]
通过特殊函数创建数组
import numpy as np
array_zeros = np.zeros((3, 3))  # 3行3列全零数组
array_ones = np.ones((4, 4))   # 4行4列全一数组
array_full = np.full((2, 3), 9)  # 值为9的2行3列数组
array_eye = np.eye(4)  # 生成一个在斜方形上元素为1,其他元素都为0的4行4列矩阵
print(array_zeros)  # 输出: [[0. 0. 0.]#               [0. 0. 0.]#               [0. 0. 0.]]
print(array_ones)  # 输出: [[1. 1. 1. 1.]#               [1. 1. 1. 1.]#               [1. 1. 1. 1.]#               [1. 1. 1. 1.]]
print(array_full)  # 输出: [[9 9 9]#                [9 9 9]]
print(array_eye)  # 输出: [[1. 0. 0. 0.]#               [0. 1. 0. 0.]#               [0. 0. 1. 0.]#               [0. 0. 0. 1.]]

三、数组数据类型

3.1 核心数据类型

类型

描述

标识符

示例

bool

布尔值

b

True/False

int8

1 字节整数

i1

-128~127

int32

4 字节整数

i4

-2147483648~2147483647

float16

半精度浮点数

f2

16 位,精度约 3 位小数

float64

双精度浮点数

f8

标准浮点数

object

Python 对象

O

存储类实例等

3.2 类型操作

查询数据类型

import numpy as npclass Person:  # 定义Person类def __init__(self, name, age):self.name = nameself.age = agezs = Person('张三', 18)  # 产生对象
ls = Person('李四', 20)
d = np.array([zs, ls])
print(d)  # 输出: [__main__.Person object at 0x00000176CB4F2208 __main__.Person object at 0x00000176CB4F2288]
print(d.dtype)  # 输出: dtype('O')

创建数组指定数据类型

import numpy as np
a = np.array([1, 2, 3, 4, 5], dtype='int32')  # 使用dtype指定创建数组的数据类型
print(a)  # 输出结果: [1 2 3 4 5]
print(a.dtype)  # 输出: int32

修改数据类型

import numpy as np
a = np.array([1, 2, 3, 4, 5])
f = a.astype('float16')  # 使用astype改变数组的数据类型
print(f.dtype)  # 输出结果: float16

四、多维数组操作

4.1 维度与形状

数组

维度 (ndim)

形状 (shape)

含义

[1,2,3]

1

(3,)

一维数组,3 个元素

[[1,2],[3,4]]

2

(2,2)

2 行 2 列二维数组

[[[1,2],[3,4]],[[5,6],[7,8]]]

3

(2,2,2)

3 维数组,2 个 2x2 矩阵

4.2 基本操作

数组维度查询

import numpy as np
a1 = np.array([1, 2, 3])
a2 = np.array([[1, 2, 3], [4, 5, 6]])
a3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(a1.ndim)  # 输出: 1
print(a2.ndim)  # 输出: 2
print(a3.ndim)  # 输出: 3

数组形状查询

import numpy as np
a1 = np.array([1, 2, 3])
a2 = np.array([[1, 2, 3], [4, 5, 6]])
a3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(a1.shape)  # 输出: (3,)
print(a2.shape)  # 输出: (2, 3)
print(a3.shape)  # 输出: (2, 2, 3)

修改数组形状

import numpy as np
a1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
a2 = a1.reshape((2, 6))  # reshape是将数组转换成指定的形状,然后返回转换后的结果,原数组的形状不会发生改变
print(a2)  # 输出: [[ 1  2  3  4  5  6]#          [ 7  8  9 10 11 12]]
print(a1.shape)  # 输出: (4, 3)
a1.resize((4, 3))  # resize是将数组转换成指定的形状,会直接修改数组本身,并且不会返回任何值
print(a1)  # 输出: [[1 2 3]#          [4 5 6]#          [7 8 9]#          [10 11 12]]

通过特殊函数创建数组

import numpy as np
array_zeros = np.zeros((3, 3))  # 3行3列全零数组
array_ones = np.ones((4, 4))   # 4行4列全一数组
array_full = np.full((2, 3), 9)  # 值为9的2行3列数组
array_eye = np.eye(4)  # 生成一个在斜方形上元素为1,其他元素都为0的4行4列矩阵
print(array_zeros)  # 输出: [[0. 0. 0.]#               [0. 0. 0.]#               [0. 0. 0.]]
print(array_ones)  # 输出: [[1. 1. 1. 1.]#               [1. 1. 1. 1.]#               [1. 1. 1. 1.]#               [1. 1. 1. 1.]]
print(array_full)  # 输出: [[9 9 9]#                [9 9 9]]
print(array_eye)  # 输出: [[1. 0. 0. 0.]#               [0. 1. 0. 0.]#               [0. 0. 1. 0.]#               [0. 0. 0. 1.]]

4.3 素组索引

下标索引

import numpy as np
a = np.arange(6)  # 一维数组
print(a)  # 输出: [0 1 2 3 4 5]
print(a[2])  # 输出: 2
print(a[-2])  # 输出: 4(从后往前数第2个)a = np.arange(9).reshape(3, 3)  # 二维数组
print(a)  # 输出: [[0 1 2]#          [3 4 5]#          [6 7 8]]
print(a[0][1])  # 输出: 1
print(a[0, 1])  # 输出: 1

切片索引

import numpy as np
a = np.arange(6)  # 一维数组
print(a)  # 输出: [0 1 2 3 4 5]
print(a[1:5])  # 输出: [1 2 3 4]
print(a[1:5:2])  # 输出: [1 3]
print(a[::2])  # 输出: [0 2 4]
print(a[::-1])  # 输出: [5 4 3 2 1 0]a = np.arange(9).reshape(3, 3)  # 二维数组
print(a)  # 输出: [[0 1 2]#          [3 4 5]#          [6 7 8]]
print(a[1:3, 1:2])  # 输出: [[4]#               [7]]
print(a[1, :])  # 输出: [3 4 5]
print(a[1, ...])  # 输出: [3 4 5]
print(a[:, 1])  # 输出: [1 4 7]

花式索引

import numpy as np
a = np.arange(6)  # 一维数组
print(a)  # 输出: [0 1 2 3 4 5]
print(a[[1, 2, 5]])  # 输出: [1 2 5]
print(a[np.array([(0, 1, 3), (1, 4, 5)])])  # 输出: [[0 1 3]#                [1 4 5]]a = np.arange(9).reshape(3, 3)  # 二维数组
print(a)  # 输出: [[0 1 2]#          [3 4 5]#          [6 7 8]]
print(a[[1, 0]])  # 输出: [[3 4 5]#                [0 1 2]]
print(a[[0, 2], 1])  # 输出: [1 7]
print(a[np.ix_([0, 1], [0, 1])])  # 输出: [[0 1]#                [3 4]]

布尔索引

import numpy as np
a = np.arange(6)  # 一维数组
print(a)  # 输出: [0 1 2 3 4 5]
print(a > 3)  # 输出: [False False False False  True  True]
print(a[a > 3])  # 输出: [4 5]a = np.arange(9).reshape(3, 3)  # 二维数组
print(a)  # 输出: [[0 1 2]#          [3 4 5]#          [6 7 8]]
print(a > 3)  # 输出: [[False False False]#               [False  True  True]#               [ True  True  True]]
print(a[a > 3])  # 输出: [4 5 6 7 8]

http://www.dtcms.com/wzjs/235362.html

相关文章:

  • 潍坊市建设一体化平台网站刷排名seo
  • 深圳龙岗网站建设公司网站关键词公司
  • 做数独的网站bt磁力种子搜索引擎
  • 衡水做网站技术注册推广
  • 做靓号网站百度云
  • 网站做数据分析的意义百度搜索风云榜电视剧
  • 网站建设的参考书籍今日头条(官方版本)
  • 大学网站建设方案伊春seo
  • 外贸做的亚马逊网站是哪个江苏企业网站建设
  • 网站开发常遇到客户问题网络营销推广方案
  • 深圳哪里可以做物流网站成品网站1688入口网页版怎样
  • 网站接单做项目百度小程序怎么进入
  • 工程公司起名大全字库网络推广优化平台
  • 长安做网站百度官网认证入口
  • 做茶歇的网站百度指数数据分析平台官网
  • 淘宝网站建设杭州seo技术优化技巧
  • 义乌市网站制作现在的seo1发布页在哪里
  • 做ui的网站官方百度下载安装
  • 框架网站建设网站制作报价表
  • linux做网站服务器吗莆田seo推广公司
  • 怎么建网站 手机版爱站长工具
  • 旅游网站源代码模板网络营销推广技巧
  • 网站建设开发综合实训小结网络软文营销的案例
  • 做网站要多少带宽百度平台推广联系方式
  • 山东网站建设推广今日十大头条新闻
  • wordpress主题制作slider百度seo关键词点击软件
  • 如何做网站活动封面怎么创建网址
  • 网站开发费用一般为多少钱it培训班学出来有用吗
  • 做网站 php python百度如何优化
  • 河北营销型网站方案找谁做百度关键词排名