|变量的千层套路:数据科学中最强大的武器( 三 )


|变量的千层套路:数据科学中最强大的武器
本文插图

展示频率的条形图
饼图
我们还可以使用饼图表示不同类别数据之间频率的分布 。
fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.axis('equal')ax.pie(df.Frequency, labels = df.Brand,autopct='%1.2f%%') plt.show()
|变量的千层套路:数据科学中最强大的武器
本文插图

相对频率的饼图
帕累托图
帕累托图是一种特殊的条形图 , 其中类别以频率降序显示 , 累计频率用单独的曲线显示 。

|变量的千层套路:数据科学中最强大的武器
本文插图

含有累计频率的数据框
frommatplotlib.ticker import PercentFormatterdf =df.sort_values(by='Frequency',ascending=False) df[''Cumulative Frequency''] =round(df[''Frequency''].cumsum()/df[''Frequency''].sum()*100,2) fig, ax = plt.subplots(figsize=(10,5)) ax.bar(df.Brand, df[''Frequency''], color=''blue'') ax2 = ax.twinx() ax2.plot(df.Brand, df[''Cumulative Frequency''], color=''red'',marker=''D'', ms=7) ax2.yaxis.set_major_formatter(PercentFormatter())ax.tick_params(axis=''y'',colors=''black'') ax2.tick_params(axis=''y'', colors=''black'') ax2.set_ylim(0,105) ax.set_ylim(0,130) plt.show()
|变量的千层套路:数据科学中最强大的武器
本文插图

图表的左侧代表频率 , 右侧代表累计频率
展示数值变量
还可以用条形图 , 饼图和帕累托图展示数值数据 。 如果想找到数值数据的频率 , 我们可能会发现每个数据的频率为1 。 但对于展示数据而言这是不可行的 。 那么应该怎么办呢?
我们可以将数值数据划分为不同的区间 , 然后计算该区间内数据的频率 。 通过一个python数据框可以获得更直观的感受 。
df=pd.DataFrame({''data'':[10,40,20,5,30,100,110,70,80,63,55,32,45,85,87,77,65,44,33,4,56,90,95,96]})
|变量的千层套路:数据科学中最强大的武器
本文插图

数据框的前五行数据
如果要计算频率 , 则大多数数据的频率将为1 。
df['data'].value_counts()
|变量的千层套路:数据科学中最强大的武器
本文插图

数值数据的频率
现在 , 如果想用条形图 , 饼图来展示以上的频率 , 它们不能提供任何信息 。 所以需要计算区间内的频率 。 假设我们将数据分成5个相等的区间 。
d=df['data'].value_counts(bins= 5).sort_index()
|变量的千层套路:数据科学中最强大的武器
本文插图

左列表示间隔 , 右列表示频率
Bingo!我们能够应用条形图 , 饼图和帕累托图来表示数值变量的频率啦 。 试着自己按照上述技巧为数值变量绘制图表吧 。

|变量的千层套路:数据科学中最强大的武器
本文插图

图源:unsplash
变量的共同性质对于数据科学任务非常重要 , 想要进入数据科学领域 , 或者仅仅是想要对数据有所了解 , 都必须攻下变量这一关 。 希望本文能帮你搞懂一些关键内容 。

|变量的千层套路:数据科学中最强大的武器
本文插图

留言点赞关注
我们一起分享AI学习与发展的干货


推荐阅读