NumPy使用
Posted ayanwan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NumPy使用相关的知识,希望对你有一定的参考价值。
NumPy数组的创建
1、创建数组:array
2、制定数组类型:dtype
3、创建特殊数组:
(1)元素全为0:zeros
(2)元素全为1:ones
(3)指定元素范围:arange
(4)线段性元素:linspace
NumPy数组属性
1、NumPy数组下标是从0开始,而且数组中所有元素的类型必须相同。
2、NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2。
3、NumPy数组中重要的属性:
(1)ndim:数组的维数,也就是秩;
(2)shape:数组的形状;
(3)size:数组中元素个数;
(4)dtype:数组中元素的类型。
4、改变数组的形状:reshape
Numpy基本运算
1、加减乘除
2、矩阵相乘dot
3、特殊运算:
(1)sum:求和
(2)min:最小值
(3)max:最大值
(4)mean/average:均值
(5)sort:排序
ps:对行或者列进行操作,需要使用axis,当axis=1时,为行;axis=0时,为列
(6)T/transpose:转秩
(7)clip:制定元素转换为最大值,最小值
(8)flatten():将多维矩阵展开为数列
NumPy索引操作
(1)取元素
(2)切片
NumPy数组合并与分割
1、合并
(1)vstack:上下合并
(2)hstack:左右合并
(3)concatenate:合并多个矩阵
2、分割
(1)split:axis=1纵向等量分割,axis=0横向等量分割
(2)array_split:不等量分割
(3)vsplit/hsplit:与split对应
# -*- coding: utf-8 -*-
"""
Created on Sun Jul 9 11:10:32 2017
@author: tfygg
"""
import numpy as np
print("数组的创建与属性")
a = np.array([[1,2], [2,3]])
print(a)
print(a.ndim)
print(a.shape)
print(a.size)
print(a.dtype)
b = np.ones((2,4))
print(b)
print(b.ndim)
print(b.shape)
print(b.size)
print(b.dtype)
c = np.arange(1,10,1) # 1-10 的数据,步长为1
print(c)
d = np.linspace(1,20,20) # 开始端1,结束端20,且分割成20个数据,生成线段
print(d)
print(d.shape)
e = d.reshape(2,10)
print(e)
print(e.shape)
print("数组的基本运算")
a = np.arange(0,20,2).reshape(2,5)
b = np.linspace(1, 10, 10).reshape(2,5)
print('a =', a)
print('b =', b)
print(a-b)
print(a+b)
print(a*b)
print(a*2)
print(a/2)
print(a**2)
print(np.sum(a))
print(np.max(a))
print(np.min(a))
print(np.sum(a,axis=1))#行
print(np.max(a,axis=0))#列
print(np.mean(a,axis=1))
print(a.T)
print(np.clip(a,4,13))
print(np.sort(a))
print(a.flatten())
print("索引操作")
a = np.random.rand(3,4)
print(a)
print(a[1][1])
print(a[1,1])
print(a[1,1:3])
print(a[:,1:3])
print(a[:,1])
print("矩阵合并与分割")
a = np.random.rand(2,4)
b = np.random.rand(1,4)
c = np.random.rand(2,1)
print(a)
print(b)
print(c)
print(np.vstack((a,b)))
print(np.hstack((a,c)))
d = np.concatenate((a,b,b),axis=0)
print(d)
print(np.split(a,2,axis=1))
print(np.split(a,2,axis=0))
print(np.vsplit(a,2))
以上是关于NumPy使用的主要内容,如果未能解决你的问题,请参考以下文章