Using seaborn barplot to plot wide-form dataframes(利用海运条形图绘制宽幅数据帧)
本文介绍了利用海运条形图绘制宽幅数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试生成一个条形图,其中包含我的DataFrame
中的所有观察结果,如下所示:Dataframe(行=年,列=对象,值=对象在年的冲突)
使用默认 pandas 时,我获得了正确的图形类型plot
:
cluster_yearly_results_df.plot.bar()
Correct Bar Plot
但是,我想使用海运,但在输入宽格式数据帧时遇到问题,使用:
sns.barplot(data=cluster_yearly_results_df)
我可以使用海运来做我想做的事情吗?
推荐答案
seaborn.barplot
文档说明:
换句话说,其目的是用表示条形图用每个矩形的高度表示数值变量的中心趋势估计,并使用误差条提供有关该估计的不确定性的某些指示。
mean
的单个条和表示std
的错误条表示一个变量的多个值。您希望像pandas.plot.bar()
那样用条形图表示单个值。
说到这里,您可以调整您的DataFrame
,如下所示以匹配seaborn
界面。以与您的DataFrame
类似的DataFrame
开头:
df = pd.DataFrame(np.random.randint(low=0, high=10, size=(10, 3)), columns=list('ABC'))
A B C
0 7 6 4
1 3 5 9
2 3 0 5
3 0 1 3
4 9 7 7
使用.stack()
和.reset_index()
创建两列,唯一标识y
中的每个值:
df = df.stack().reset_index()
df.columns = ['x', 'hue', 'y']
哪个选项产生:
x hue y
0 0 A 6
1 0 B 1
2 0 C 2
3 1 A 5
4 1 B 7
然后绘制:
sns.barplot(y='y', x='x', hue='hue', data=df)
这篇关于利用海运条形图绘制宽幅数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:利用海运条形图绘制宽幅数据帧


基础教程推荐
猜你喜欢
- 将 YAML 文件转换为 python dict 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01