数据科学包之Numpy

numpy的基本属性

import numpy as np
array = np.array([[1,2,3],[2,3,4]])
print(array)
print('number of dim:',array.ndim)#查看是几维的
print('shpe:',array.shape)#查看期形状,是几行几列
print('size:',array.size)#查看大小

在这里插入图片描述

创建array

import numpy as np
#默认是64位的当然您可以自己定义32位,即np.int32
a = np.array([2,23,4],dtype=np.int)
print(a)
print(a.dtype)
#定于矩阵
a1 = np.array([[2,23,4],[2,32,4]])
print(a)
#定义全为零的矩阵
a2 = np.zeros((3,4))
#定于全为1的矩阵
a3 = np.ones((3,4),dtype = np.int)
#几乎为0
a4 = np.empty((3,4))
#随机1-10 步长为1
a5 = np.arange(1,10,1)
#重新组织变成三行四列
a6 = np.arange(12).reshape((3,4))
#生成线段
a7 = np.linspace(1,10,6).reshape((2,3))

numpy的基础运算

import numpy as np
a = np.array([10,20,30,40])
b = np.arange(4)
print(a,b)
c1 = a-b
c2 = a+b
c3 = a*b
#如果a是个matrix,所以a∗∗2返回的是a∗a,相当于矩阵相乘。而c是array,c∗∗2相当于,c中的元素逐个求平方。
#平方
c4 =b**2
#三角函数
c5 = 10*np.sin(a)

#做判断
print(b<3)
print(b==3)

#矩阵
c_dot = np.dot(a,b)
#另外一种写法就是:
c_dot = a.dot(b)

#随机生成0-1的数字
a = np.random.random((2,4))
print(a)
print(np.sum(a))#和
print(np.min(a))#最小值
print(np.max(a))#最大值

numpy基础运算2

import  numpy as np
A=np.arange(2,14).reshape(3,4)
print(A)
print('最小值:',np.argmin(A))#最小值
print('最大值:',np.argmax(A))#最大值
print('平均值:',np.mean(A,axis=0))#跨行求平均值,axis=1跨列
print('中位数:',np.median(A))#中位数
print('做累加:',np.cumsum(A))#做累加
print('累差:',np.diff(A))#累差
print('非零数:',np.nonzero(A))#非零数
print('转秩:',np.transpose(A))#转置或者直接A.T
#clip这个函数将将数组中的元素限制在a_min, a_max之间,大于a_max的就使得它等于 a_max,小于a_min,的就使得它等于a_min
print('clip:',np.clip(A,5,9))
print('索引:',np.sort(A))#索引

在这里插入图片描述

numpy 索引

import numpy as np
A = np.arange(3,15).reshape((3,4))
print(A)
print(A[2])#第三行
print(A[2,1])#三行一列
print(A[2,:])#第三行所有数
print(A[:,2])#第二列所有数
print(A[1,1:2])

import numpy as np
A = np.arange(3,15).reshape((3,4))
print(A)
#遍历所有行
for row in A:
    print(row)

#遍历所有列(需要先转置)
for column in A.T:
    print(column)

#遍历所有数,需要先把A转变成一行:
for item in A.flat:
    print(item)

numpy array合并

import numpy as np
A=np.array([1,1,1])
B=np.array([2,2,2])
print('vstack:',np.vstack((A,B)))#vertical stack上下合并
print('hstack:',np.hstack((A,B)))#horizontal stack 左右合并

在这里插入图片描述

#A.T是不能把一个序列变成矩阵的需要加维度
import numpy as np
A=np.array([1,1,1])[:,np.newaxis]#行加维度,如果[newaxis,:]则是列加维度
B=np.array([2,2,2])[:,np.newaxis]
print(A,B)
print('vstack:',np.vstack((A,B)))
print('hstack',np.hstack((A,B)))

在这里插入图片描述

#多个array合并
import numpy as np
A=np.array([1,1,1])[:,np.newaxis]
B=np.array([2,2,2])[:,np.newaxis]
C = np.concatenate((A,B,B,A),axis=0)
print(C)

在这里插入图片描述

numpy array分割

#numpy array分割
import numpy as np
A = np.arange(12).reshape((3,4))
print(A)
print(np.split(A,2,axis=1))#按列分割成两个

在这里插入图片描述

#不等量分割
import numpy as np
A = np.arange(12).reshape((3,4))
print(A)
print(np.array_split(A,4,axis=1))#按列分割成4列
print(np.vsplit(A,3))#上下分割
print(np.hsplit(A,2))#左右分割

在这里插入图片描述

numpy copy & deep copy

#numpy copy & deep copy
import numpy as np
a = np.arange(4)
print(a)
b=a
c=a
d=b
print(a,b,c,d)

a[0]=11
print(a,b,c,d)

b=a.copy()# deep copy不想要关联就是copy
a[3]=44
print(a,b,c,d)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值