利用海运条形图绘制宽幅数据帧

2024-08-20Python开发问题
1

本文介绍了利用海运条形图绘制宽幅数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试生成一个条形图,其中包含我的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)

这篇关于利用海运条形图绘制宽幅数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

pandas 有从特定日期开始的按月分组的方式吗?
Is there a way of group by month in Pandas starting at specific day number?( pandas 有从特定日期开始的按月分组的方式吗?)...
2024-08-22 Python开发问题
10

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10