机器学习基础Numpy | Matplotlib | Pandas

Numpy

1.创建数组

通过给array函数传递Python的序列对象创建数组,如果传递的是多层嵌套的序列,将创建多维数组。

import numpy as np 
#创建数组
myarray = np.array([1, 2, 3]) 
print(myarray) 
print(myarray.shape) 
#创建多维数组
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]]) print(myarray) 
print(myarray.shape)  
2.访问数据

可以通过数组的下标访问某一行,也可以访问某一列。

import numpy as np 
#创建多维数组
myarray = np.array([[1, 2, 3], [2, 3, 4],[3, 4, 5]]) print(myarray) 
print(myarray.shape) 
#访问数据
print('这是第一行:%s' % myarray[0]) 
print('这是最后一行:%s' % myarray[-1])
print('访问整列(3列)数据:%s' % myarray[:,2]) 
print('访问指定行(2行)和列(3列)的数据:%s' % myarray[1,2]) 
3.算数运算

使用NumPy的ndarray数组可以直接进行算术运算,或者说向量运算。

import numpy as np 
#创建多维数组
myarray1 = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]]) myarray2 = np.array([[11, 21, 31], [21, 31, 41], [31, 41, 51]]) 
print('向量加法运算:')
print(myarray1+ myarray2) 
print('向量乘法运算:')
print(myarray1 * myarray2)

Matplotlib

Matplotlib是Python中著名的2D绘图库,使用方法比较简单,按照下面的三步进行操作就能很简单地完成绘图。
1.调用plot()、scatter()等方法,并为绘图填充数据。数据是NumPy的ndarray类型的对象。
2.设定数据标签,使用xlabel()、ylabel()方法。
3.展示绘图结果,使用show()方法。

1.绘制线条图
import matplotlib.pyplot as plt 
import numpy as np 
#定义绘图的数据
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]]) 
#初始化绘图,横坐标是数组位置0 1 2
plt.plot(myarray) 
#设定x轴和y轴
plt.xlabel('x axis') 
plt.ylabel('y axis') 
#绘图
plt.show()
2.绘制散点图
import matplotlib.pyplot as plt 
import numpy as np
#定义绘图的数据
myarray1 = np.array([1, 2, 3]) 
myarray2 = np.array([11,21,31]) 
#初始化绘图
plt.scatter(myarrayl, myarray2) 
#设定x轴和y轴
plt.xlabel('x axis') 
plt.ylabel('y axis') 
#绘图
plt.show() 

Matplotlib提供了很多种类的图表的绘制功能。参考http://matplotlib.org/gallery.html

Pandas

Pandas提供了用于机器学习的复杂数据类型:矢量运算方法和数据分析方法。Pandas也提供了多种数据结构。

  1. Series:一维数组,与NumPy中的一维Array类似。二者与Pyhon基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效地使用内存,提高运算效率。
  2. Time-Series:以时间为索引的Series。
  3. DataFrame:二维的表格型数据结构。很多功能与R语言中的data.frame类似。可以将DataFrame理解为Series的容器。
  4. Panel:三维数组,可以理解为DataFrame的容器。
    重点理解Series和DataFrame这两种数据类型,实践机器学习。
1.Series

Series虽然与NumPy的一维数组类似,但是在建立Series时可以设定index,也可以像访问NumPy数组或字典一样来访问Series元素。

import numpy as np 
import pandas as pd 
myarray = np.array([1, 2, 3]) 
index = ['a','b','c'] 
myseries = pd.Series(myarray, index=index) 
print(myseries) 
print('Series中的第一个元素:')
print(myseries[O]) 
print('Series中的c index元素:')
print(myseries['c']
2.DataFrame

DataFrame是一个可以指定行和列标签的二维数组。数据可以通过指定列名来访问特定列的数据。

import numpy as np 
import pandas as pd 
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]]) rowindex = ['rowl''row2','row3'] 
colname = ['col1','col2','col3']
mydataframe = pd.DataFrame(data=myarray, index=rowindex, columns=colname) 
print(mydataframe) 
print('访问col3的数据:')
print(mydataframe['col3'])

Pandas是一个功能强大的对数据进行切片的工具,更多的内容请查阅PandasAPI ( http://pandas.pydata.org/pandas-docs/stable/)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小零呦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值