对于从网页上爬取下来的数据很多很杂乱,我们需要进行数据可视化,pandas除了数据处理还可以进行数据可视化展示,这里我们简单说明一下pandas绘制常见图形的一些API:由于现在针对数据可视化有很多库,matplotlib、seaborn、pyecharts等等,使用pandas绘图其实并不多,这里做一个简单展示。
“只有客户发展了,才有我们的生存与发展!”这是成都创新互联公司的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对网站制作、成都网站设计、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。
目录:
首先我们打开excel数据文件,如下图所示:
Field:专业;Number:对应专业学生数量,根据两列数据绘制简单柱图:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('Students.xlsx')
# pd绘图
data.sort_values(by='Number',inplace=True,ascending=False)
data.plot.bar(x='Field',y='Number',title='National Students Field')
plt.tight_layout()
plt.show()
解释说明:
结果如下所示:
首先我们还是查看数据文件:students02.xlsx
给出了2016、2017两年的学生数量,由此考虑绘制分组柱状图:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('Students02.xlsx')
data.sort_values(by='2017',inplace=True,ascending=False)
data.plot.bar(x='Field',y=['2016','2017'],color=['red','orange'])
plt.title('National Students Number',fontsize=16,fontweight='bold')
plt.xlabel('Field',fontweight='bold')
plt.ylabel('Number',fontweight='bold')
# x轴刻度偏转
ax = plt.gca()
ax.set_xticklabels(data['Field'],rotation=45,ha='right')
print(data)
f = plt.gcf()
f.subplots_adjust(left=0.2,bottom=0.4)
# plt.tight_layout()
plt.show()
解释说明:
结果如下:
有的时候可能不只有两组数据,要观察多组数据的数量占比,可以采用叠加柱图:
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_excel('./excel文件/Users.xlsx') # 这里数据文件就不再展示
data['total'] = data['Oct'] + data['Nov'] + data['Dec']
data.sort_values(by='total',inplace=True,ascending=False)
# data.plot.bar(x='Name',y=['Oct','Nov','Dec'],stacked=True,title='Users Behavior') 竖直
data.plot.barh(x='Name',y=['Oct','Nov','Dec'],stacked=True,title='Users Behavior') #水平 如果需要改变顺序,将ascending=true
plt.tight_layout()
plt.show()
结果如下图所示:
首先我们先查看一下数据文件,如下所示:
给出了2016,2017年来自不同国家的学生数量排名(rank);
由此绘制饼图:
import pandas as pd
import matplotlib.pyplot as plt
plt.figure(figsize=(12,8),dpi=100)
students = pd.read_excel('./bin_Students.xlsx', index_col='From')
students['2017'].plot.pie(fontsize=8,counterclock=False)
plt.title('Source of International Students', fontsize=16, fontweight='bold')
plt.ylabel('2017', fontsize=12, fontweight='bold')
plt.show()
解释说明:
结果如下图所示:
由于文件数据过多,这里不做展示;简言之就是四个区域的不同周期的销售状况
绘图代码:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('./excel文件/Orders.xlsx',index_col='Week')
data.plot.area(y=['Accessories','Bikes','Clothing','Components']) #叠加区域图
plt.title('Sale Week Trend',fontsize=14,fontweight='bold')
plt.ylabel('Total',fontsize=10,fontweight='bold')
plt.xticks(data.index,fontsize=5)
plt.show()
结果如下:
由于后面集中图形使用较少,这里不再展示数据文件,直接上代码:
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_excel('./excel文件/home_data.xlsx',index_col='id')
data.plot.scatter(x='sqft_living',y='price') # 房子面积 价位
plt.show()
结果如下:
该图形绘制的是在某地区房子价位与房子面积的分布关系;
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_excel('./excel文件/home_data.xlsx')
data['sqft_living'].plot.hist(bins=60) # bins 表示柱子的数量
plt.xticks(range(0,max(data['sqft_living']),500),rotation=90,fontsize=6)
plt.show()
结果如下:
该图表示某地区房子的价位的分布情况。
以上就是使用pandas结合matplotlib绘制一些基本常用图形的例子,当然了例子是固定的,图形是灵活的,我们还是要根据不同的数据表,结合不同的现实状况,绘制不同的图形达到我们的目的。
名称栏目:一篇文章带你搞定Pandas绘图API
文章源于:http://www.mswzjz.cn/qtweb/news42/279692.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能