NumPy学习(2)

NumPy学习(2)

数组操作

修改数组形状

函数描述
reshape不改变数据的条件下修改形状
flat数组元素迭代器
flatten返回一份数组拷贝,对拷贝所作的修改不会影响原始数组
ravel返回展开数组
numpy.reshape

numpy.reshape函数可以在不改变数据的条件下修改形状,格式如下numpy.reshape(arr,newsahpe,order='C')例子如下

import numpy as np

a = np.arange(8)
print('原始数组:')
print(a)
print('\n')

b = a.reshape(4,2)
print('修改后的数组')
print(b)

输出结果如下:

原始数组:
[0 1 2 3 4 5 6 7]

修改后的数组:
[[0 1]
 [2 3]
 [4 5]
 [6 7]
]
numpy.ravel

numpy.ravel()展平的数组元素,顺序通常是“C风格”,返回的是数组试图,修改会影响原始数组,该函数接收两个参数:numpy.ravel(a,order='C')

翻转数组

函数描述
transpose对换数组的维度
ndarray.T和self.transpose()相同
rollaxis向后滚动指定的轴
swapxes对换数组的两个轴
numpy.transpose

numpy.transpose函数用于对换数组的维度,格式如下:

numpy.transpose(arr,axes)

  • arr:要操作的数组
  • axes:整数列表,对应维度,通常所有维度都会对换

分割数组

函数数组及操作
split将一个数组分割为多个子数组
hsplit将一个数组水平分割为多个子数组(按列)
vsplit将一个数组垂直分割为多个子数组(按行)
numpy.split

numpy.split函数沿特定的轴将数组分割为子数组,格式如下:numpy.split(arr,indices_or_sections,axis)

  • arr:被分割的数组
  • indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置
  • axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分

数组元素的添加与删除

函数元素及描述
resize返回指定形状的新数组
append将值添加到数组末尾
insert沿指定轴将值插入到指定下标之前
delete删掉某个轴的子数组,并返回删除后的新数组
unique查找数组内的唯一元素
numpy.resize

numpy.resize函数返回指定大小的新数组,如果新数组大小大于原始大小,则包含原始数组中的元素的副本

numpy.resize(arr,shape)

  • arr:要修改大小的数组
  • shape:返回数组的新形状
numpy.append

numpy.append函数在数组的末尾添加值,追加操作会分配整个数组,并把原来的数组复制到新数组中,此外,输入数组的维度必须匹配否则将生成ValueError

numpy.append(arr,values,axis=None)

  • arr:输入数组
  • values:要想arr添加得到值,需要和arr形状相同
  • axis:默认为None
numpy.insert

numpy.insert函数在给定索引之前,沿给定轴在输入数组中插入值

numpy.insert(arr,obj,values,axis)

  • arr:输入数组
  • obj:在其之前插入值的索引
  • values:要插入的值
  • axis:沿着它插入的轴,如果没有提供,则输入数组会被展开
numpy.delete

numpy,delete(arr,obj,axis)

  • arr:输入数组
  • obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
  • axis:沿着它插入的轴,如果没有提供,则输入数组会被展开
numpy.unique

numpy.unique函数用于去除数组中的重复元素

numpy.unique(arr,return_index,return_inverse,return_counts)

  • arr:输入数组,如果不是一维数组则会展开
  • return_index:如果为true,返回新列表元素在旧列表中的下标,并以列表形式存储
  • return_inverse:如果为true,返回旧列表元素在新列表中的下标,并以列表形式存储
  • return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值