gpt4 book ai didi

python - 如何更改 Pandas 图中的 X 标签?

转载 作者:行者123 更新时间:2023-11-30 22:34:18 25 4
gpt4 key购买 nike

我有一个 Excel 工作表,其中包含特定状态的列,我需要对每个状态进行计数,然后需要将其绘制在条形图中。示例:

Status_1    Status_2    Status_3
Active Abandoned Active
Inactive Abandoned Active

目前我一直在使用以下代码:

import pandas as pd, matplotlib.pyplot as plt
report = r"\\Myserver\Reports\Report.xlsx"
df1 = pd.read_excel(report, sheetname=1)
df = df1[['Status_1', 'Status_2', 'Status_3']].copy()

val1 = df['Status_2'].value_counts().to_frame()
vals1 = pd.DataFrame(val1)
fig, axes = plt.subplots(nrows=2, ncols=2)
vals1.plot(kind='bar', ax=axes[0,0])

所以我现在的问题是图表显示正常,但 X 轴上的列标有其状态(事件/非事件),图例显示列名称 (Status_1)。我希望将其反转,并让 X 轴显示“Status_1”,并使用“事件”和“非事件”两种选择对图例进行颜色编码。

因为我用值(value)计数来做这件事,所以变得非常困惑并扭转了局面。有什么办法可以做到这一点吗?

enter image description here

最佳答案

您可以使用seaborn ,同时将数据框 reshape 为 tidy form

import seaborn as sns
import pandas as pd

In [26]: df
Out[26]:
Status_1 Status_2 Status_3
0 Active Abandoned Active
1 Inactive Abandoned Abandoned
2 Active Abandoned Active
3 Inactive Inactive Active
4 Active Abandoned Inactive
5 Abandoned Abandoned Active

In [27]: df2 = pd.melt(df) # convert into tidy data
In [28]: df2
Out[28]:
variable value
0 Status_1 Active
1 Status_1 Inactive
2 Status_1 Active
3 Status_1 Inactive
4 Status_1 Active
[...]
15 Status_3 Active
16 Status_3 Inactive
17 Status_3 Active
In [29]: sns.factorplot(data=df2, x="variable", kind="count", hue="value")

factorplot

或者:

sns.factorplot(data=df2, x="variable", kind="count", col="value")

factoroplot

HTH

关于python - 如何更改 Pandas 图中的 X 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44887865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com