python列表转为numpy数组好处
如何提取Python数据?
如何提取Python数据?
概述
直接提取会报错,把array数组转换成list,即可提取,使用numpy转换
步骤详解
1、直接提取尝试:
group[[1,2],[2,3],[3,4]]
#提取第一列元素
print(group[:,1])
#Out:TypeError: list indices must be integers or slices, not tuple
2、使用numpy转换:
import numpy as np
group[[1,2],[2,3],[3,4]]
#numpy转化
(group)
print(ar[:,1])
#Out:[2 3 4]
拓展内容
numpy详解
Numpy对象是数组,称为ndarray 维度(dimensions)称作轴(axes),轴的个数叫做秩(rank)。注:有几级中括号就有几个维度
一、
ndarray.ndim 秩
例如一个2排3列的矩阵,它的shape属性是(2,3)
数组元素的总个数
ndarray.dtype 元素类型,NumPy提供自己的数据类型
数组中每个元素的字节大小
二、数组创建函数:
array
asarray将输入转换成ndarray
arange
ones
zeros
empty 只分配内存空间不填充任何值
eye 创建N*N单位矩阵(对角线为1)
三、数组和标量之间的运算
numpy数组的一个特点,不用编写循环就可对数据执行批量运算,这通常称作矢量化(vectorization)。
四、基本的索引和切片
numpy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多。这里我仅详细介绍常用的方法,对于高级功能的方式我列举名称,读者可以等到要用的时候自行查阅资料。
python中np模块的应用?
NumPy
NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Nupmy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
一个强大的 N 维数组对象 ndarray
广播功能函数
整合 C/C /Fortran 代码的工具
线性代数、傅里叶变换、随机数生成等功能
ndarray对象
NumPy 最重要的一个对象是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,可以使用基于 0 的索引访问集合中的项目。
ndarray 对象是用于存放同类型元素的多维数组。ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)
( object , dtype None , ndmin 0 ,copy True , order None , subok False )
一般只有 object 、dtype和 ndmin 参数常用,其他参数不常用
import numpy
a([1,2,3]) #一维
b([[1,2,3],[4,5,6]]) #二维
c([1,2,3],dtypecomplex) #元素类型为复数
d([1,2,3],ndmin2) #二维
print(a,type(a))
print(b,type(b))
print(c,type(c))
print(d,type(d))
####################################
[1 2 3] class numpy.ndarray
[[1 2 3]
[4 5 6]] class numpy.ndarray
[1. 0.j 2. 0.j 3. 0.j] class numpy.ndarray
[[1 2 3]] class numpy.ndarray
Numpy数组属性
NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。
在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。
很多时候可以声明 axis。axis0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis1,表示沿着第1轴进行操作,即对每一行进行操作。
ndarray 对象属性有:
常见的属性有下面几种 :
: 这一数组属性返回一个包含数组纬度的元组,它也可以用于调整数组大小
import numpy as np
a([[1,2,3],[4,5,6]])
print() #打印shape属性
(3,2) #修改shape属性
print(a)
#######################################
(2, 3)
[[1 2]
[3 4]
[5 6]]
ndarray.ndim: 这一数组属性返回数组的维数
import numpy as np
a(24) #返回0-23的列表类型的数据
print(a.ndim)
b(2,3,4)
print(b)
print(b.ndim)
############################
1
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
3
: 这一数组属性返回数组中每个元素的字节单位长度
import numpy as np
a([1,2,3]) #默认是四个字节
print()
#########################################
4
()函数的用法
该函数用来创建矩阵
import numpy as np
#将列表转为矩阵
a[7,8,9]
b(a)
print(b)
print(#*10)
#创建一行的矩阵
m([1,2,3])
print(m)
print(打印出第一行的第三个值:,m[0,2])
#取第一行的第三个值
print(#*10)
x([[3,2,1],[6,5,4]])
print(x)
print(打印出矩阵的第二行:,x[1])
print(打印出矩阵的第二行:,x[1,:])
print(打印出矩阵的行列数:,)
#获得矩阵的行列数
print(打印出矩阵的行数 :,[0]) #获得矩阵的行数
print(打印出矩阵的列数 :,[1]) #获得矩阵的列数
() #对矩阵的每一行进行排序
print(对矩阵的每一行进行排序:)
print(x)
print(#*10)
()函数的用法
该函数用于返回给定形状和类型的新数组。返回的数据类型为 numpy.ndarray,具有给定形状,类型和顺序的0的数组。
参数:
shape:int 或 int 的元组。新阵列的形状,例如:(2,3)或2。
dtype:数据类型,可选。、例如。默认是numpy.float64
order:{C,F},可选,默认:C 。是否在内容中以行(C)或列(F)顺序存储多维数据。
import numpy as np
a(5)
print(a,type(a))
b([1,2],dtypeint8)
print(b)
c([1,2,3],dtypeint8)
print(c)