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))


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值