课程代码(教学级)和数据集已整理到网盘,内容更全面,
关注『AI Power Lab』,对话框输入“iris”免费获取~


Python数据分析系列教程
1. AI编程时代更需要的底层能力培养,Python数据分析(一) | NumPy基础教程+面试题串讲
2. AI编程时代更需要的底层能力培养,Python数据分析(二) | Pandas基础教程+面试题串讲
3. AI编程时代更需要的底层能力培养,Python数据分析(三)| 数据可视化教程+面试题串讲
4. 能力打通:iris数据可视化分析(本篇)


01
数据读取和处理
#引入相关模块import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns#内嵌绘图,可以省略掉plt.show()这一步%matplotlib inline%config InlineBackend.figure_format = 'retina'iris=pd.read_csv("D:\DM\python\iris.txt")iris.head()#数据行列数iris.shape#数据集信息iris.info()#数据集统计特征iris.describe()#统计鸢尾花种类数以及各种类样本数iris["species"].value_counts()#按品种切分数据versicolor=iris[iris.species=="Iris-versicolor"]virginica=iris[iris.species=="Iris-virginica"]setosa=iris[iris.species=="Iris-setosa"]print(versicolor.shape,virginica.shape,setosa.shape)# 输出(50, 5) (50, 5) (50, 5)02
可视化&分析
#统计各品种样本数,存放在list中species_count=pd.DataFrame(iris["species"].value_counts())species=species_count.index.tolist()count=species_count.species.tolist()fig=plt.figure(figsize=(8,8))plt.pie(count,labels=species,colors=['c','orange','gray'],startangle=90,\ explode=(0.08,0,0),autopct='%1.1f%%')plt.axis('equal')
#直接利用seaborn快速绘图fig=plt.figure(figsize=(12,10))ax1=fig.add_subplot(2,2,1)sns.boxplot(data=iris,x="species",y="sepal_length")plt.title("不同品种鸢尾花花萼长度箱线图",fontsize=16,fontweight="bold")ax2=fig.add_subplot(2,2,2)sns.boxplot(data=iris,x="species",y="sepal_width")plt.title("不同品种鸢尾花花萼宽度箱线图",fontsize=16,fontweight="bold")ax3=fig.add_subplot(2,2,3)sns.boxplot(data=iris,x="species",y="petal_length")plt.title("不同品种鸢尾花花瓣长度箱线图",fontsize=16,fontweight="bold")ax4=fig.add_subplot(2,2,4)sns.boxplot(data=iris,x="species",y="petal_width")plt.title("不同品种鸢尾花花瓣宽度箱线图",fontsize=16,fontweight="bold")



#plt.style.use("ggplot")ax=sns.FacetGrid(iris,hue='species',size=4).map(plt.hist,'sepal_length').add_legend()bx=sns.FacetGrid(iris,hue='species',size=4).map(plt.hist,'sepal_width').add_legend()cx=sns.FacetGrid(iris,hue='species',size=4).map(plt.hist,'petal_length').add_legend()dx=sns.FacetGrid(iris,hue='species',size=4).map(plt.hist,'petal_width').add_legend()
plt.style.use("bmh")plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus'] = Falseax=sns.FacetGrid(iris,hue="species",size=6).map(plt.scatter,'sepal_length','sepal_width').add_legend()plt.title("各品种花萼长宽散点图",fontsize=16,fontweight="bold")bx=sns.FacetGrid(iris,hue="species",size=6).map(plt.scatter,'petal_length','petal_width').add_legend()plt.title("各品种花瓣长宽散点图",fontsize=16,fontweight="bold")
03
关联性分析(进阶)
sns.pairplot(iris,hue="species")
#使用映射函数map()将species各字符值映射到数值iris["species"]=iris.species.map({'Iris-setosa':1,'Iris-versicolor':2,'Iris-virginica':3})fig=plt.figure(figsize=(10,10))sns.heatmap(iris.corr(),vmax=1,square=True,annot=True)
课程代码(教学级)和数据集已整理到网盘,内容更全面,
关注『AI Power Lab』,对话框输入“iris”免费获取~
已经看到这里啦,如果觉得不错,随手点个点赞、转发、喜欢吧~
如果想第一时间收到推送,可以给我个星标⭐哦~
你们的支持和鼓励,是我持续更新的最大动力 ❥(^_-)

往期推荐