Python机器学习常用的几个库

1. import numpy as np 矩阵操作的库

操作描述
X * Y两个矩阵对应位置元素相乘
X.dot(Y)矩阵的内积(一行乘以一列)
np.random.random((3,4))生成一个三行四列的随机数(-1,1)矩阵
np.floor(a)将数值a向下取整
np.array([1,2,3])Python list转成ndarray
X.reshape((m,n))将原矩阵改成m*n矩阵
X[:,0:2]表示取第0,1列的所有行
X.min()或X.max()返回矩阵中的最小值或最大值
X.sum(axis=0)返回对每一列求和的结果
X.sum(axis=1)返回对每一行求和的结果
np.zeros((3,4))返回一个值全为0的3*4的矩阵
np.ones((3,4))返回一个值全为1的3*4的矩阵
np.full((3,4),6)返回一个值全为6的3*4的矩阵
X.ravel()将一个矩阵铺成一行输出
np.hstack((X,Y))将矩阵X和Y水平拼接,增加了列数
np.vstack((X,Y))将矩阵X和Y竖直拼接,增加了行数
np.hsplilt((X,3))将矩阵在水平方向等分成3份,返回三个矩阵
np.hsplilt((x,(3,5)))将矩阵水平切成0~2列,3~4列,5~n列
X.argmax(axis=0)返回矩阵中每列最大元素的下标
X.argmax(axis=1)返回矩阵中每行最大元素的下标
X.argmax()返回矩阵中最大元素的下标
np.tile(X,(3,4))把矩阵X整体扩增3行、4列
np.sort(X,axis=1)将矩阵每一行递增排序

  最后聊聊关于拷贝赋值的几种做法的区别:(b=ab=a.view()b=a.copy()

> a = np.ones((3,3))
> b = a
> c = a.view()
> d = a.copy()

# 三种做法,得到的元素值都是相等的 
> print(a == b)
array([[ True,  True,  True],
       [ True,  True,  True],
       [ True,  True,  True]])

> print(a == c)
array([[ True,  True,  True],
       [ True,  True,  True],
       [ True,  True,  True]])

# 三种做法,新对象引用的对象不同
> print(a is b)
True
> print(a is c)
False
> print(a is d)
False

# 看看它们在内存中的id,来核实上面的结果
> print(id(a))
140384952264624
> print(id(b))
140384952264624
> print(id(c))
140384921209632
> print(id(d))
140384921208992

# 【重要】修改b,c,d中的某个元素,检查原矩阵a中的元素是否发生变化
> print(a)
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])
> b[0][0] = 2
> c[1][1] = 3
> d[2][2] = 4
> print(a)
array([[2., 1., 1.],
       [1., 3., 1.],
       [1., 1., 1.]])

# 发现b,c都还是操作的原矩阵,而d操作的是新矩阵。

2. import pandas as pd 数据处理的库

pandas对象是一个DataFrame对象(data),data的每一列取出来,是一个Series对象(ss),ss.values又是一个numpy.ndarray对象

操作描述
data = pd.read_cdv(’**.csv’)读取数据集,返回的是DataFrame对象
data.columns返回数据的列名
data.shape返回数据的行和列
data.head(4)返回data的前4行
data.tail(3)返回data的后3行
data.loc[0]取第1行的数据
data.loc[:5]取前5行的数据
data[‘c1’]取列名为’c1’的该列数据
data[[‘c1’,‘c2’,‘c3’]]取列名为’c1’,‘c2’,'c3’的三列数据
del data[‘c1’]删除data中的’c1’列
data = data.drop(‘c1’,axis=1)删除data中的’c1’列
data.drop(‘c1’,axis=1, inplace=True)删除data中的’c1’列
data[‘new_column’] = columns增加新的一列特征值
data.sort_values(‘c1’,inplace=True,ascending=True)数据集按照’c1’列的值升序排序
data.reset_index(drop=True)排序后原index还在,重新生成
pd.isnull(data[‘c1’])判断’c1‘列是否存在缺失值
data[‘c1’].mean()返回’c1’列的均值
data.dropna(axis=0, subset=[‘c1’,’c2’])'c1’与’c2’两列有缺失值的话删除该行
data.loc[83,’c1’]定位第83行,列名为c1的元素

3.import matplotlib.pyplot as plt 绘制图像的库

操作描述
plt.plot(data[‘c1’],data[‘c2’])X轴的数据为’c1’列,Y轴数据为’c2’列
plt.show()显示图像
plt.xticks(rotation=45)X轴倾斜45度
plt.xlabel(‘this is aixs = 0’)X轴添加标签
plt.ylabel(‘this is aixs = 1’)Y轴添加标签
plt.title(‘this is title’)绘图添加标题
fig = plt.figure()返回默认画图的区域
fig = plt.figure(figsize = (3,4))设置画图的大小(宽、高)
ax1 = fig.add_subplot(1,3,1)画布等分为一行三列,这是第一个子图
ax2 = fig.add_subplot(1,3,2)画布等分为一行三列,这是第二个子图
ax3 = fig.add_subplot(1,3,3)画布等分为一行三列,这是第三个子图
ax1.plot([1,2,3],[2,3,1])子图一绘制折线图
ax2.bar([0,1,2,3,4],[1,5,2,3,4])子图二绘制柱形图
ax3.scatter([0,1,2,3,4],[4,2,1,3,1], c=‘blue’)子图三绘制散点图
  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值