机器学习四剑客:numpy,pandas,pil,matplotlib 学习简述总结
numpy :介绍,主要用来处理矩阵的 array 创建形式 numpy.array(列表。。。)
pandas :主要用来处理表之类的数据结构 Series(和字典的区别,键可以重复) 创建形式 pandas.Series(值列表,键列表(键列表的形式有index=[]或直接[])),DataFrame 创建形式 pandas.DataFrame(字典,每行的键列表(可以index=[]或[]),列名列表(可以columns=[]或[]))
pil :图像处理神器,图像是有像素组成的二维矩阵,每个元素都是一个RGB
matplotlib :可视化工具
学习总结:array,Series,DataFrame 这样复习,创建方法,访问方法,方法的参数名字,数据结构的属性和方法
array : 一般用列表为其创建数组(矩阵)
Series : 键名:index,属性名:values 创建方法 用列表创建,用字典创建 键没给初始值,默认0-n
DataFrame : 键名:index ,列名:columns,属性名:values 创建方法 用字典创建 字典的键做列名,值做属性值 嵌套字典 外层键做列名,内层键做DataFrame的键名,
属性和操作方法略 跟字典列表很类似,都是增删改查
访问方法略 也都类似 神魔用下标访问啊,根据列名访问啊。。。
matplotlib :总结 重要的是那些画图的函数,现用现查 scatter(x,y) 画散点图
import matplotlib.pyplot as plt
plt.plot(x,y) #好多种函数名,画出来的图形plot()画折线图
plt.ylabel("fngeli") #在图上加个标签名
plt.show() #显示上面用函数画的图形
plt.savefig("名字",pig=100) #保存图片默认.jpg,pig表示图像质量
画饼图:
import matplotlib.pyplot as plt
>>> labels = 'Frogs','Hogs','Dogs','Logs'
>>> sizes = [15,30,45,10]
>>> explode = (0,0.1,0,0)
>>> plt.pie(sizes,explode=explode,labels=labels,
... autopct='%1.1f%%',shadow=False,startangle=90)
([<matplotlib.patches.Wedge object at 0x000001C5D290CA48>, <matplotlib.patches.Wedge object at 0x000001C5D2905B08>, <matplotlib.patches.Wedge object at 0x000001C5D2902A08>, <matplotlib.patches.Wedge object at 0x000001C5D28F19C8>], [Text(-0.4993895680663527, 0.9801071672559598, 'Frogs'), Text(-1.1412677917792124, -0.3708204787324995, 'Hogs'), Text(0.9801072140121813, -0.4993894763020948, 'Dogs'), Text(0.33991864973549485, 1.0461621822461364, 'Logs')], [Text(-0.2723943098543742, 0.5346039094123416, '15.0%'), Text(-0.6657395452045406, -0.2163119459272914, '30.0%'), Text(0.5346039349157352, -0.27239425980114257, '45.0%'), Text(0.1854101725829972, 0.5706339175888016, '10.0%')])
>>> plt.axis('equal')
(-1.2142507666786346, 1.134711077927507, -1.1258468317413044, 1.101230806657754)
>>> plt.show()
画散点图
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> ax.plot(10 * np.random.randn(100), 10 * np.random.randn(100), 'o')
>>> ax.set_title('Simple Scatter')Text(0.5, 1.0, 'Simple Scatter')
>>> plt.show()
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> N = 20>>> theta = np.linspace(0.0, 2 * np.pi, N, endpoint=False)
>>> radii = 10 * np.random.rand(N)>>> width = np.pi / 4 * np.random.rand(N)
>>> ax = plt.subplot(111, projection='polar')
>>> bars = ax.bar(theta, radii, width=width, bottom=0.0)
>>> for r, bar in zip(radii, bars):
... bar.set_facecolor(plt.cm.viridis(r / 10.))
... bar.set_alpha(0.5)
...
>>> plt.show()