Python数据分析与机器学习实战笔记(1)- Numpy

这篇博客主要介绍了Python数据分析库Numpy的基础知识,包括一维和二维数组的创建,ndarray的基本操作,数值计算,排序,形状调整,0矩阵的构建,以及随机模块的使用,如洗牌和设置随机种子。
摘要由CSDN通过智能技术生成

Numpy

import numpy as np

数组

1.一维数组

array1 = np.array([1,2,3,4])
array1 = array1 +1

2. 二维数组

array2 = np.array([[1,2,3][4,5,6]])

对于ndarray 结构来说,里面所有的元素必须是同一类型,否则,将自动“向下”(e.g. int to float, int to string)进行转换

3. ndarray 基本操作

type(array1)
array1.dtype
array1.itemsize 
array1.shape
np.size(array1)
array1.fill(0)
#索引与切片:
array1[:3]
array1[1:3]#从第2个元素取到第3个(不包括第4个)元素

array2[1,1]
array2[:,1]#取所有样本第2列

4.注意⚠️ ndarray的赋值

array3 = array2#改array3,array2也跟着改 
array3 = array2.copy()#改array3, array2不改

array3.astype(np.float32)

5.array 结构

#掩码
array4 = np.arange(0,100,10)

mask = np.array([0,0,0,0,0,1,1,1,1,1]), dtype=bool)
array4[mask]

random_array = np.random.rand(10)
mask = random_array>0.5
random_array[mask]

np.where(random_array>0.5)

6. 数值计算

tang_array = np.array([[1,2,3][4,5,6]])
np.sum(tang_array, axis=0)
tang_array.min(axis=0)

tang_array.argmin(axis=0)#最小值的索引

tang_array.var() #方差

tang_array.clip(2,4)#截断,“多减少增”, 小于2的值设置为2,大于4的值设置为4

tang_array.round(decimals=1)#精确到哪一位

7. 排序

tang_array = np.array([1.5,1.3,7.5],[5,6,7.8,1.2])
np.sort(tang_array)
np.sort(tang_array, axis=0)
np.argsort(tang_array)

values = np.linspace(0,10,10)#0-10等间隔取10个数据
np.searchsorted(tang_array,values)

index = np.lexsort(-1tang_array[:,0],tang_array[:,2])#按第2列降序,第三列升序排序

8. 数组形状

tang_array = np.arange(10)
tang_array.shape = 2,5
tang_array.reshape(1,10)


tang_array = tang_array[np.newaxis,:]

tang_array = tange_array.squzze()

tang_array.transpose()

a = np.array([123,456,678],[3214,456,134])
a.flatten() #把a的所有数据拉成一维
b = np.array([1235,3124,432],[43,13,134])
c = np.concatenate((a,b),axis=1)#水平连接,“同一样本不同特征”

np.vstack(a,b)
np.hstack(a,b)

9. 数组生成

np.zeros(3)
np.zeros(3,3)

np.ones(3,3)
np.ones(3,3)*8

10. 重要⚠️(构建同维度0矩阵)

tang_array = np.array([1,2,3,4])
tang_array2 = np.zeros_like(tang_array)# 构建与tang_array相同维度的0矩阵

11. 运算

x = np.array([5,5])
y = np.array([2,2])
np.multiply(x,y)#对应向量相乘

np.dot(x,y)#向量为一维的时候,是内积,对应向量相乘再相加
# 二维时是矩阵乘法

x.shape= 2,1
y.shape = 1,2

np.dot(x,y)#2X2矩阵
np.dot(y,x)#数值


np.logical_and(x,y)
np.logical_or(x,y)
np.logical_not(x,y)

12. 随机模块

np.random.rand(3,2)
np.random.randint(10,size=(5,4))
np.random.random_sample()
np.random.randomint(0,10,3)

mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
np.set_printoptions(precision= 2)
12.1洗牌
tang_array = np.arange(10)
np.random.shuffle(tang_array)
12.2随机的种子
np.random.seed(100)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值