这次准备做一下pandas在画图中的应用,要做数据分析的话这个更为实用,本次要用到的数据是pthon机器学习库sklearn中一组叫iris花的数据,里面组要有4个特征,分别是萼片长度、萼片宽度、花瓣长度、花瓣宽度,目标值是3种不同类型的花。

机器学习的时候在学习好这四个特征后就可以用来预测花的类型了,而图像化分析这些数据就是机器学习中很关键的步骤,接下来我们开始,先导入数据:

import pandas as pd
from sklearn import datasets
from sklearn import preprocessing data = datasets.load_iris()#载入iris数据
# data = preprocessing.scale(boston.data)#正则化数据
pd.set_option('display.max_columns', None)
d1_x = pd.DataFrame(data.data, columns=data.feature_names)
d1_y = pd.Series(data.target)
print(d1_x.head())
print(d1_y.head())

部分数据展示如下,可以看出有4个不同特征,3种不同的话目标值分别是0,1,2

   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
0 0
1 0
2 0
3 0
4 0
dtype: int32

很多时间图像更能直观反映出数据,接下来开始正题:

from matplotlib import pyplot as plt
import pandas as pd
from sklearn import datasets
from sklearn import preprocessing data = datasets.load_iris()#载入iris数据
# data = preprocessing.scale(boston.data)#正则化数据
pd.set_option('display.max_columns', None)
d1_x = pd.DataFrame(data.data, columns=data.feature_names)
d1_y = pd.Series(data.target)
print(d1_x.head())
print(d1_y.head()) d1_x.plot(linestyle='--', marker='.', alpha=0.5) #DataFrame的画图方式,依赖于matplotlib
d1_y.plot(linestyle='-', linewidth=1.5, alpha=0.5, color='b', label='type')
plt.legend()
plt.show()

是不是很简单,和之前plt.plot()的画图几乎一样的,结果如下:

从上图中,比较直观的我可以看出,sepal width与花种类关系不大,其它三个特征则关系密切,根据这个图像分析从而可以进行下一步。

接下来,看看其它类型的图,由于这里数据不太适合条形图,那自己造一点数据吧:

from matplotlib import pyplot as plt
import pandas as pd
import numpy as np d1 = pd.DataFrame(np.random.rand(5, 3), columns=['A', 'B', 'C']) # 方法一
d1.plot.bar(cmap='summer')
# 方法二
#d1.plot(kind='bar', colormap='cool')
plt.show()

画条形图有两中方式,看代码,是不是很简单,其它图形就不全部都写出来了,方式都差不多,今天就到这里了。

最新文章

  1. [转]C/C++ 程序员必须收藏的资源大全
  2. DirectX9 Sample_Empty Project
  3. 20169212《Linux内核原理与分析》 第九周作业
  4. Ninject之旅之一:理解DI
  5. ServletConfig对象和它在开发中的应用场
  6. Java中怎样由枚举常量的ordinal值获得枚举常量对象
  7. INSERT DELAYED 句法
  8. sublime常用插件及配置,自留自用
  9. Listener与Filter
  10. flume taidir to kafkasink
  11. Linux的.pid文件
  12. Promise.then
  13. js页面实时显示时间
  14. php如何优雅地把数组传递给前端js脚本?
  15. Android Drawable Mipmap Vector使用及Vector兼容
  16. Linux下批量管理工具pssh使用记录
  17. Java-Maven-Runoob:Maven 快照(SNAPSHOT)
  18. AnkhSVN使用手册
  19. struts+hibernate+spring整合过程常见问题收集
  20. Iass、Pass、SasS三种云服务区别?

热门文章

  1. Rufus 制作 USB 启动盘简单教程
  2. Spark中的Spark Shuffle详解
  3. [LeetCode] 711. Number of Distinct Islands II_hard tag: DFS
  4. python图片处理(一)
  5. javascript利用jquery-1.7.1来判断是否是谷歌Chrome浏览器
  6. 24最小生成树之Prim算法
  7. MySQL从删库到跑路(六)——SQL插入、更新、删除操作
  8. [Data Access] ORM 原理 (11): 效能議題
  9. java后台获取和js拼接展示信息
  10. js 变量 作用域及内存