【发布时间】:2022-01-20 07:25:47
【问题描述】:
首先 - 抱歉这个问题太笼统了,但我没有找到我正在寻找的代码的好例子。
我的 DF 类似于:
| Customer | Size | Date |
|---|---|---|
| Customer1 | 5 | 01.01.2021 |
| Customer2 | 2 | 01.01.2021 |
| Customer3 | 6 | 01.01.2021 |
| Customer1 | 5 | 02.01.2021 |
| Customer2 | 4 | 02.01.2021 |
| Customer3 | 5 | 02.01.2021 |
基本上,我有一些客户每天使用特定数量的存储空间。 我需要一个堆积条形图,其中每个条形图是一天,每个条形图的部分是客户。我计划将 30 天的历史记录放在一个图表中,这意味着 30 个柱及其 X 个部分。
条形之间不需要有视觉空间。
谢谢!
【问题讨论】:
-
首先运行
df['Date'] = pd.to_datetime(df['Date'])。那就试试df.pivot(index='Date', columns='Customer', values='Size').plot(kind='bar', stacked=True) -
谢谢。我收到 ValueError: Index contains duplicate entries, cannot reshape 日期列有重复是正常的,因为 DF 包含来自同一日期的多个客户的数据。
-
日期和客户的值必须重复。尝试
df[df.duplicated(subset=['Date', 'Customer'], keep=False)]检查是否是这种情况。尝试对这两个字段进行重复数据删除或聚合以修复数据。 -
是的。我发现了我的问题。现在一切正常!
标签: python pandas matplotlib