首页 > 其他分享 >Numpy

Numpy

时间:2024-09-22 23:12:41浏览次数:1  
标签:numpy np 数组 dtype print array Numpy

numpy 基础

N 维数组

创建

import numpy as np

print("一维数组")
x = np.array([1, 2, 3, 4, 5])
print(x)
print(x.dtype)

print("二维数组")
x = np.array([[1, 2], [3, 4], [5, 6]])
print(x)
print(x.ndim) # 维度
print(x.shape) # 各维度的长度

print("创建数组 (zeros, ones, empty)")
x = np.zeros(6)
print(x)
x = np.zeros((2, 3))
print(x)
x = np.ones((2, 3))
print(x)
x = np.empty((3, 3))
print(x)

print("使用arrange生成连续元素")
print(np.arange(6))
print(np.arange(0, 6, 2))

数据类型

import numpy as np
x = np.array([1, 2.6, 3], dtype = np.int64)
print(x)
print(x.dtype)

x = np.array([1, 2, 3], dtype = np.float64)
print(x)
print(x.dtype)

x = np.array([1, 2.6, 3], dtype = np.float64)
y = x.astype(np.int32)
print(y)
print(x)
z = y.astype(np.float64)
print(z)

print("将字符串元素转化为数值元素")
x = np.array(['1', '2', '3'], dtype = np.str_)
y = x.astype(np.int32)
print(x)
print(y)

print("使用其他数组的数据类型作为参数")
x = np.array([1., 2.6, 3.], dtype = np.float32)
y = np.arange(3, dtype = np.int32)
print(y.astype(x.dtype))

Ndarray 的矢量化计算

import numpy as np
print("ndarray数组与标量/数组的运算")
x = np.array([1, 2, 3])
print(x * 2)
print(x > 2)

y = np.array([3, 4, 5])
print(x + y)
print(x > y)

Ndarray 的基本索引和切片

import numpy as np
print("Ndarray 的基本索引")
x = np.array([[1, 2], [3, 4], [5, 6]])
print(x[0])
print(x[0][1])
print(x[0, 1]) # 同 x[0][1]
x = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(x[0])
y = x[0].copy()
z = x[0] # 注意 z 与 x[0] 指向同一个内存值
print(y)
print(y[0, 0])
y[0, 0] = 0
z[0, 0] = -1
print(y)
print(x[0])
print(z)
import numpy as np

print("Ndarray 的切片")
x = np.array([1, 2, 3, 4, 5])
print(x[1:3])
print(x[:3])
print(x[1:])
print(x[0:4:2]) # [1, 3] 下标递增 2

x = np.array([[1, 2], [3, 4], [5, 6]])
print(x[:2])
print(x[:2, :1]) # [[1], [3]]
x[:2, :1] = 0
print(x)
x[:2, :1] = [[8], [6]]

数组的转置和轴对换

import numpy as np
print("ndarray 的数组转置和轴对换")
k = np.arange(9)
m = k.reshape(3, 3)
print(k)
print(m)

print(m.T) # 转置(矩阵)数组:T 属性 mT[x][y] = m[y][x]
print(np.dot(m, m.T)) # 点乘
k = np.arange(8).reshape((2, 2, 2))
print(k)

m = k.transpose(1, 0, 2) # m[y][x][z] = k[x][y][z]
print(m)

#轴交换
m = k.swapaxes(0, 1) # m[y][x][z] = k[x][y][z]

# 利用轴交换进行数组矩阵转置

m = np.arange(9).reshape(3, 3)
print(m)
print(m.swapaxes(0, 1))

Ndarray 的通用函数

通用函数(ufunc)是可以对数组中每个元素进行操作的函数。

abs, sqrt, square, exp, log, log10, log2, log1p, sign, ceil, floor, rint(四舍五入保留 dtype), modf(将数组的小数部分和整数部分以两个独立数组的形式返回), isnan, isfinite, isinf, cos...

add, subtract, mutiply, divide, floor_divide, power, maximum, minimum, mod, copysign, greater(比较), logical_and...

Ndarray 中的常用统计方法

import numpy as np
print("Ndarray 中的基本统计方法")
x = np.array([[1, 2], [3, 3], [1, 2]])
print(x)
print(x.mean())
print(x.mean(axis = 1))
print(x.mean(axis = 0))
# sum, max 同理

print(x.cumsum()) # 所有元素的累计和
print(x.cumprod()) # 所有元素的累计积

Numpy 中的线性代数

import numpy as np
import numpy.linalg as nla

print("矩阵点乘")
x = np.array([[1, 2], [3, 4]])
y = np.array([[1, 2], [3, 4]])
print(x.dot(y))
print(np.dot(x, y))

print("矩阵求逆")
x = np.array([[1, 1], [1, 2]])
y = nla.inv(x)
print(x.dot(y)) # 单位矩阵
print(nla.det(x)) # 求行列式

标签:numpy,np,数组,dtype,print,array,Numpy
From: https://www.cnblogs.com/mklzc/p/18426025

相关文章

  • Python Numpy布尔数组在数据分析中的应用
    大家好,在数据分析和科学计算中,布尔数组是一个非常重要的工具,它可以帮助我们进行数据的筛选、过滤和条件判断。Python的Numpy库提供了丰富的布尔运算功能,能够高效地对数据进行处理。本文将深入探讨Numpy中的布尔数组,介绍布尔运算和布尔索引的使用方法,并通过具体的示例代码展示其......
  • 【AiDocZh.com】Numpy官网文档中文翻译上线啦
    【AiDocZh.com】Numpy官网文档中文翻译上线啦一、Numpy官网文档中文翻译上线地址:http://www.aidoczh.com/numpy/Numpy中文文档终于上线啦,这个工具是数据分析、计算等重要的一个工具,有了中文文档,可以方便使用者查阅文档,及时了解工具使用细节,希望能对大家学习有帮助。......
  • python科学计算:NumPy 数组的高级操作
    1基本数学函数NumPy提供了大量的数学函数来执行各种基本运算。这些函数可以作用于数组的每个元素,且支持广播机制。1.1三角函数NumPy提供了一组常见的三角函数,包括sin()、cos()、tan()及其反函数。importnumpyasnp#创建一个数组angles=np.array([0,np.pi......
  • python科学计算:NumPy 线性代数与矩阵操作
    1NumPy中的矩阵与数组在NumPy中,矩阵实际上是一种特殊的二维数组,因此几乎所有数组的操作都可以应用到矩阵上。不过,矩阵运算与一般的数组运算存在一定的区别,尤其是在点积、乘法等操作中。1.1创建矩阵矩阵可以通过NumPy的array()函数创建。矩阵的形状可以通过shap......
  • 6.科学计算模块Numpy(3)对ndarray数组的常用操作
    引言众所周知,numpy能作为python中最受欢迎的数据处理模块,脱离不了它最核心的部件——ndarray数组。那么,我们今天就来了解一下numpy中对ndarray的常用操作。通过阅读本篇博客你可以:1.掌握ndarray数组的切片和copy2.学会如何改变ndarray的数组维度3.掌握数组的拼接一、ndar......
  • Numpy中reshape的用法
    目录语法介绍示例示例1示例2示例3示例4语法介绍numpy.reshape(a,newshape,order=‘C’)在不改变数据的情况下给数组一个新的形状。就是先将数组按给定索引顺序一维展开,然后按与展开时相同的索引顺序将展开的元素填充到新数组中;即等价于np.reshape(np.revel(arr......
  • Numpy中生成数组的常用方法
    目录1.np.arrage()2.np.arange()3.ones/empty/zeros函数4.np.randomnp.random.rand():np.random.random():np.random.randn()np.random.randint(low,high,size,dtype)np.random.uniform(low,high,size)np.linspace1.np.arrage()importnumpyasnp##下面两种结果相同......
  • 5.科学计算模块Numpy(2)随机数的生成和ndarray属性及其创建方式
    引言通过上一篇4.科学计算模块Numpy(1)概述与初始操作-CSDN博客,我们已经了解了Numpy的概念和Numpy数组的创建,今天我们来介绍一下Numpy模块中随机数的生成和ndarray属性及其创建方式。通过阅读本篇博客,你可以:1.掌握如何使用numpy.random模块生成随机数2.了解ndarray数组的属性......
  • NumPyro入门API和开发人员参考 pyro分布推理效果处理程序贡献代码更改日志入门教程使
    NumPyro文档¶NumPyro入门API和开发人员参考烟火元素分布推理效果处理程序贡献代码更改日志入门教程使用NumPyro的贝叶斯回归贝叶斯分层线性回归例如:棒球击球率示例:变型自动编码器例子:尼尔的漏斗例子:随机波动例如:亚麻和俳句可变推断参数化NumPyro模型的自动绘制不良后几何及......
  • 使用numpy快速实现统计分析的常用代码实现
    文末赠免费精品编程资料~~NumPy是Python编程语言中用于数值计算的核心库之一,在统计分析方面,它也提供了各种各样的函数来实现统计分析。NumPy统计分析功能概览基本统计量:计算平均值、中位数、众数、标准差、方差等。 排序和搜索:排序数组、查找最大值、最小值、百分位......