numpy常用的操作
以下是NumPy中一些常用的操作及其相应的代码示例:
创建NumPy数组:
import numpy as np
# 从Python列表创建一维数组
a = np.array([1, 2, 3, 4, 5])
print(a)
# 从Python列表创建二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# 用zeros创建一个全为0的数组
c = np.zeros((3, 3))
print(c)
# 用ones创建一个全为1的数组
d = np.ones((2, 2))
print(d)
# 用arange创建一个一维数组
e = np.arange(10)
print(e)
数组的基本属性:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
# 数组的维度
print(a.ndim)
# 数组的形状
print(a.shape)
# 数组中元素的总数
print(a.size)
# 数组中元素的数据类型
print(a.dtype)
数组的索引和切片:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
# 访问单个元素
print(a[0, 0])
# 访问一整行
print(a[0, :])
# 访问一整列
print(a[:, 1])
# 切片操作
print(a[1:, 1:])
数组的运算:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 数组的加法
print(a + b)
# 数组的减法
print(a - b)
# 数组的乘法
print(a * b)
# 数组的矩阵乘法
print(np.dot(a, b))
数组的统计操作:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
# 数组中所有元素的和
print(a.sum())
# 数组中每一行的和
print(a.sum(axis=1))
# 数组中每一列的和
print(a.sum(axis=0))
# 数组中的最小值
print(a.min())
# 数组中的最大值
print(a.max())
数组的变形和重塑:
import numpy as np
a = np.array([[1, 2], [3, 4], [5, 6]])
# 将数组变形成一维数组
b = a.reshape(-1)
print(b)
# 将数组变形成三行两列的二维数组
c = a.reshape(3, 2)
print(c)
# 将数组变形成两行三列的二维数组
d = a.reshape(2, 3)
print(d)
# 将数组转置
e = a.T
print(e)
数组的堆叠和拆分:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 水平堆叠数组
c = np.hstack((a, b))
print(c)
# 垂直堆叠数组
d = np.vstack((a, b))
print(d)
# 将一维数组分割成多个数组
e = np.array([1, 2, 3, 4, 5, 6])
f = np.split(e, 3)
print(f)
# 将二维数组按行拆分成多个数组
g = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
h = np.split(g, 3, axis=0)
print(h)
# 将二维数组按列拆分成多个数组
i = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
j = np.split(i, 3, axis=1)
print(j)
数组的广播:
a = np.array([[1, 2], [3, 4]])
b = np.array([10, 20])
# 数组的广播
c = a + b
print(c)
# 数组的广播
d = a * 2
print(d)
数组的逻辑运算:
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([2, 4, 6, 8])
# 数组的比较运算
c = a == b
print(c)
# 数组的逻辑运算
d = np.logical_and(a > 1, b < 5)
print(d)
# 数组的逻辑运算
e = np.logical_or(a < 2, b > 7)
print(e)
数组的统计运算:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 求数组的最大值、最小值、平均值、中位数、标准差、方差
b = np.max(a)
c = np.min(a)
d = np.mean(a)
e = np.median(a)
f = np.std(a)
g = np.var(a)
print(b, c, d, e, f, g)
数组的排序:
import numpy as np
a = np.array([3, 1, 4, 2, 6, 5])
# 对数组进行排序
b = np.sort(a)
print(b)
# 对数组进行逆序排序
c = np.sort(a)[::-1]
print(c)
# 返回数组排序的下标
d = np.argsort(a)
print(d)
矩阵运算:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 矩阵相乘
c = np.dot(a, b)
print(c)
# 矩阵的迹
d = np.trace(a)
print(d)
# 矩阵的行列式
e = np.linalg.det(a)
print(e)
# 矩阵的逆
f = np.linalg.inv(a)
print(f)
随机数生成:
import numpy as np
# 生成指定范围内的随机整数
a = np.random.randint(0, 10, size=5)
print(a)
# 生成指定范围内的随机浮点数
b = np.random.uniform(0, 1, size=5)
print(b)
# 生成正态分布的随机数
c = np.random.normal(0, 1, size=5)
print(c)
# 生成指定概率分布的随机数
d = np.random.choice([1, 2, 3], size=5, p=[0.1, 0.3, 0.6])
print(d)
数组的复制:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
# 浅复制数组
b = a.view()
print(b)
# 深复制数组
c = a.copy()
print(c)
数组的拼接和分割:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 水平拼接数组
c = np.concatenate((a, b), axis=1)
print(c)
# 垂直拼接数组
d = np.concatenate((a, b), axis=0)
print(d)
# 水平分割数组
e = np.hsplit(c, 2)
print(e)
# 垂直分割数组
f = np.vsplit(d, 2)
print(f)
数组的元素操作:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
# 数组的切片操作
b = a[1:4]
print(b)
# 数组的索引操作
c = a[[0, 2, 4]]
print(c)
# 数组的赋值操作
a[2:4] = [6, 7]
print(a)
# 数组的去重操作
d = np.unique([1, 2, 3, 3, 4, 5, 5])
print(d)
数组的线性代数:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([5, 6])
# 求解线性方程组
c = np.linalg.solve(a, b)
print(c)
# 计算特征值和特征向量
d, e = np.linalg.eig(a)
print(d, e)
# 计算奇异值分解
f, g, h = np.linalg.svd(a)
print(f, g, h)
数组的傅里叶变换:
import numpy as np
import matplotlib.pyplot as plt
# 生成信号
t = np.linspace(0, 1, 1000)
x = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 10 * t)
# 对信号进行傅里叶变换
y = np.fft.fft(x)
# 绘制傅里叶变换后的频谱图
freqs = np.fft.fftfreq(len(x), t[1] - t[0])
plt.plot(freqs, np.abs(y))
plt.show()
数组的统计:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
# 数组的和
b = np.sum(a)
print(b)
# 数组的平均值
c = np.mean(a)
print(c)
# 数组的方差和标准差
d = np.var(a)
e = np.std(a)
print(d, e)
# 数组的最小值和最大值
f = np.min(a)
g = np.max(a)
print(f, g)
# 数组的排序
h = np.sort(a)
print(h)
数组的元素比较:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array([5, 4, 3, 2, 1])
# 逐个元素比较
c = a == b
print(c)
# 数组比较
d = np.array_equal(a, b)
print(d)
numpy常用的操作的更多相关文章
- numpy常用矩阵操作
1.删除列 column_to_delete = [0, 1, 2] arr = np.delete(arr, [0, 1, 2], axis=1) 2.归一化 arr = normalize(arr ...
- Numpy 常用矩阵计算函数
基本属性 在做一些数据分析的时候,我们通常会把数据存为矩阵的形式,然后python本身对于矩阵的操作是不够的,因此出现了numpy这样一个科学开发库来进行python在次上面的不足. Numpy's ...
- numpy 常用工具函数 —— np.bincount/np.average
numpy 常用工具函数 —— np.bincount/np.average numpy 常用api(一) numpy 常用api(二) 一个函数提供 random_state 的关键字参数(keyw ...
- Mysql常用表操作 | 单表查询
160905 常用表操作 1. mysql -u root -p 回车 输入密码 2. 显示数据库列表 show databases 3. 进入某数据库 use database data ...
- SNMP常用数据操作
SNMP常用数据操作 snmp编程中常见的数据类型基本上就是integer32/oct_str(字节数组)/counter64/timeticks/dateAndTime这些.很多其它的比如Truth ...
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...
- 总结Selenium自动化测试方法(四)WebDriver常用的操作
四.WebDriver常用的操作 1.控制浏览器操作 #控制浏览器的大小 self.driver.set_window_size(480,800) #控制浏览器返回 self.driver.back( ...
- MATLAB 常用形态学操作函数
常用形态学操作函数(转自:http://blog.sina.com.cn/s/blog_4c52e9e20100e5if.html) 1.dilate函数 该函数能够实现二值图像的膨胀操作,有以下形式 ...
- 关于Properties类常用的操作
import java.io.*;import java.util.Enumeration;import java.util.Properties;/** * 关于Properties类常用的操作 * ...
- Jedis对Redis的常用命令操作
本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...
随机推荐
- ybtoj 12F
求值的话改为求解前缀和的值,通过两个前缀和相减即可得到每个值. 每次询问相当于给一个方程. 一共有 $n$ 个未知数,因此需要 $n$ 个方程,同时每个数都必须至少在方程中出现一次. 最小生成树求解即 ...
- MySQL -my.cnf配置文件优化
# [mysqld] datadir=/var/lib/mysql #socket=/var/lib/mysql/mysql.sock user=mysql ### 设置主从的时候的唯一ID 每台主机 ...
- 第四章 快速排序 分而治之(divide an conquer)
def quicksort(array): if len(array) < 2: return array else: flag = array[0] less = [] greater = [ ...
- 【组会】2023_1_6 4d mmwave
A NEW AUTOMOTIVE RADAR 4D POINT CLOUDS DETECTOR BY USING DEEP LEARNING ICASSP 2021 - 2021 IEEE Inter ...
- 鲁迅文集 第3卷 而已集 华盖集续编 华盖集 热风\四十一.md
目录 导读 正文 导读 本篇首次发表于1919年1月15日<新青年>第六卷第一号.署名唐俟. 文章以生物进化的事实,驳斥旧势力对改革者的嘲讽,号召青年蔑视反改革者的冷笑和暗箭,&quo ...
- python求列表中n个最大或最小的值
import heapq #y为结果列表,n为所求的n个值,x为来源列表 y=heapq.nsmallest(n,x) y=heapq.nlargest(n,x)
- vue +iview Select省市区联动
因为需要保存的表里只有City_id一个字段,所以这边只保存"区"的值 <Row type="flex" justify="start" ...
- postgres 表字段修改
更换字段名 alter table 表名 rename column 字段名 to 新字段名; 更换表名 alter table 表名 rename to 新表名; 更改字段长度 alter tabl ...
- C知识点
1.变量在内存中所占存储空间的首地址,称为该变量的地址:而变量在存储空间中存放的数据,即变量的值. C语言中,指针就是变量的地址.一个变量的值是另一个变量的地址,且变量类型相同,则称该变量为指针变量. ...
- 定制centos发行版
//轻量级Centos定制发行版==================================================================================== ...