【发布时间】:2021-09-29 03:14:31
【问题描述】:
我有一个如下所示的数据框
df = pd.DataFrame(
{
'Dates': ['2021-04-11', '2021-06-08', '2021-06-08', '2021-06-09', '2021-06-10', '2021-07-18', '2021-07-18'],
'Results': ['Negative', 'Invalid', 'Negative','Negative','Negative', 'Negative', 'Positive' ],
'Size': [1, 1, 1, 1, 4, 21, 2]
})
我想绘制一个细分的条形图,如下图所示。 [![在此处输入图片描述][1]][1]
我已经坚持了一段时间了。尝试使用 groupby()、sum()、size() 等,但无法计算出来。
非常感谢任何帮助。
【问题讨论】:
-
这能回答你的问题吗? Pandas - Plotting a stacked Bar Chart
-
@ifly6 它没有。在那里,数据被分成列,在我的情况下,数据存在于单个列中,并且也是分类的。虽然它不能解决我的问题,但我会尝试从中得到这个想法。
-
索引结果然后取消堆叠。噗,您将数据分成列。它甚至在答案中:
df.groupby(['Name', 'Abuse/NFF'])['Name'].count().unstack('Abuse/NFF') -
@ifly6 在我的数据框中,我需要“大小”列,它给出了当天发生的每个结果的计数。所以,我不能使用上面给出的 count() 函数
-
是的,所以不要写 exact 相同的代码,修改那里的代码,设置索引和 unstack
标签: pandas dataframe plot bar-chart graph-visualization