十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
众所周知,Pandas是基于Python平台的大数据分析与处理的利器,它可以把十分复杂的可视化过程,变得简单一点。本文将以2019年世界幸福指数的数据为例,为大家详细展示如何利用pandas绘制可视化图表。相信经过本次手把手教学,大家可以举一反三掌握绘制可视化图表的能力。感兴趣的朋友赶紧来看详细的步骤解析吧!
创新互联-专业网站定制、快速模板网站建设、高性价比善左网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式善左网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖善左地区。费用合理售后完善,10多年实体公司更值得信赖。
第一步:导入csv文件
import pandas as pd
df=pd.read_csv(‘./world-happiness-report-2019.csv’)
df.head(3)
这个csv图标的内容是各个国家按照不同维度评价的幸福指数,数据帧中一些列的名称比较冗长,可以重命名使其更加简洁:
df.rename(columns={“Country (region)”: “Country”, “Log of GDPper capita”: “Log_GDP_per_capita”, “Healthy lifeexpectancy”:”Health_life_expect”},inplace=True)
df.columns
第二步:开始绘制图形
我们可以先从简单的柱状图开始,只统计腐败程度、自由度、宽容度、社会支持等几个维度:
%matplotlib tk
df1=df[:5]
df1.plot(‘Country’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’],kind = ‘bar’)
嫌直接写名称太麻烦?没关系,我们也可以用所在列的数字来绘制,比如上述4个列分别为7、6、8、5:
%matplotlib tk
df1=df[:5]
df1.plot(‘Country’,[7,6,8,5],kind = ‘bar’)
在上面的代码中kind = ‘bar’,所以绘制的图形是柱状图,如果我们把参数改成kind = ‘line’,画出的就是线状图。
df1=df[:5]
df1.plot(‘Country’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’],kind = ‘line’)
第三步:设置坐标轴
(1)取值范围
在绘制可视化图表之前,大家要先设置坐标轴。使用xlim和ylim两个参数可设置x和y轴的范围。在折线图中,我们要将x轴设置为0到20,y限制为从0到100。
df1=df[:20]
df1[‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100))
(2)x、y轴刻度
有时候坐标轴上的刻度并不理想,我们希望在上面标上我们喜欢的数值。比如对于x轴,我们想要标上0、10、15和20几个值;对于y轴,我们想要标上0、50、70、100几个值,可以在xticks和yticks参数中悉数列出。
df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100),color=’red’,xticks=([0,10,15,20]),yticks=([0,50,70,100]), title = ‘xticks’)
(3)对数坐标
如果数据的跨度范围非常大,横跨好几个数量级,那么用线性坐标就无法很好地展示数据。这时候我们需要用到对数坐标,设置方法是将logx或者logy的值设置为Ture。如果我们只想设置x轴为对数坐标,y轴仍保持线性坐标,那么
df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,1000),ylim=(0,100),color=’red’,logx=True)
第四步:其他高阶用法
可以使用stacked参数来绘制带有条形图的堆叠图。在这里,我们绘制堆叠的水平条,stacked设置为True。将grid参数设置为True,可以给图表加入网格。有了subplot参数还可以绘制子图,根据需要指定行数和列数以及绘图的数量。
总的来讲,只要掌握以上的各种参数设置技巧,利用pandas绘制可视化图表也不并困难。光说不练假把式,大家要想快速上手可视化图表,不妨现在就开始尝试着绘制一下吧!