小伙伴们大家好~欢迎来和我一起学习数据挖掘,希望我的笔记能对你们的学习有一定的帮助,也希望你们对我的不足能多多的包容,对于我的错误能及时指出,互相学习,我们一起进步!
对数据进行操作有以下几个部分
数据的采集与存储
数据的预处理
数据的分析
数据的可视化展示
而数据挖掘就是这里面的第二部分和第三部分,也就是数据预处理和数据分析,但主要还是侧重于数据分析,但这二者并不是非此即彼,而是相互联系的。
numpy
今天学习了有关python中的一个第三方库numpy的用法,
和传统的第三方库一样,我们想要使用一个第三方库的时候,首先我们要对这个库,进行一个导入
import numpy as np
首先是使用np创建数据
a= np.argange(5)
当然还可以创建多维数组:
import numpy as np
b= np.array([np.arange(6),np.arange(6)])
创建了两个一维的数组,然后用numpy的array方法把他们组合成一个 新的数组。
数组之间可以进行运算
eg:m n 是两个数组
然后加减法乘除法就不用多说就是 result =m+n result =m-n result =m*n result =m/n
其中数组这里有一个特殊的运算就是点乘
乘法(点乘)
a = np.array([[1,2,3],[4,5,6]])
b = np.array([4,5,6])
In: np.dot(a,b)
Out:array([32, 77])
然后在学习的时候,我看教程上还有一种运算 向量与标量之间 的运算,我还特意去查了究竟什么是标量,感觉人就是退化了,标量都不记得是向量的“反义词了”哎~
- 标量 (Scalar):
- 是只有大小(数值)的量,没有方向。
- 例如:温度、质量、时间等。
- 向量 (Vector):
- 是既有大小又有方向的量。
- 例如:速度、力、位移等。
区别: 标量只需要一个数值来描述,而向量需要一个数值和一个方向来描述。向量通常用箭头表示,箭头的长度代表大小,箭头的方向代表方向。
下一个知识点呢就是数组的切片和索引,没有什么难度,可以给大家展示一个列题
# 引入numpy库
import numpy as np
# 定义cnmda函数
def ce(a,m,n):
'''
参数:
a:是一个Numpy数组
m:是第m维数组的索引
n:第m维数组的前n个元素的索引
返回值:
ret: 一个numpy数组
'''
ret = 0
# 请在此添加切片的代码,实现找出多维数组a中第m个数组的前n个元素 并赋值给ret
#********** Begin *********#
ret = a[m,:n]
#********** End **********#
return ret
然后是数组的堆叠于拆分
改变数组形状:
- revel()拆解,将多维数组变成一维数组==a.revel()==
- flatten()拉直,功能与ravel()相同,但是flatten返回的是真实的数组,需要分配新的内存空间,而ravel()仅仅是改变视图。
- shape()使用元组改变数组形状。
- transpose()转置
Numpy的拆分
- 横向拆分
np.hsplit(a,3)
- 纵向拆分
np.vsplit(a,3)
- 深度拆分
np.dsplit(a,3)
都非常的简单,大家可以找几个例子多练习,不然一会就忘了,大家有什么例子也可也share到评论区,我们一起学习~