python - 绘制 Pandas DataFrame 中出现的次数

标签 python matplotlib pandas

我有一个包含两列的 DataFrame。其中一个包含时间戳,另一个包含一些 Action 的 ID。类似的东西:

2000-12-29 00:10:00     action1
2000-12-29 00:20:00     action2
2000-12-29 00:30:00     action2
2000-12-29 00:40:00     action1
2000-12-29 00:50:00     action1
...
2000-12-31 00:10:00     action1
2000-12-31 00:20:00     action2
2000-12-31 00:30:00     action2

我想知道在某一天执行了多少次某种类型的操作。 IE。对于每一天,我需要计算 actionX 的出现次数,并针对每个日期绘制此数据,X 轴为日期,Y 轴为 actionX 的出现次数。

当然,我可以通过遍历我的数据集来天真地计算每天的 Action 。但是使用 pandas/matplotlib 的“正确方法”是什么?

最佳答案

您可以使用

获取计数
df.groupby([df.index.date, 'action']).count()

或者你可以直接用这个方法画图

df.groupby([df.index.date, 'action']).count().plot(kind='bar')

您也可以只将结果存储到 count 中,然后单独绘制。这是假设您的索引已经是 datetimeindex 格式,否则请按照上面@mkln 的说明进行操作。

关于python - 绘制 Pandas DataFrame 中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21331722/

相关文章:

python - python 拆分 pandas 列

python - Pandas 按位置重命名列?

python - 在固定时间间隔后查找最后一个可用时间戳 - pandas 或 numpy

python - 使用 filter() 过滤 python 字典以列出字典值

python - 如何创建带有时间戳的散点图

python - 如何在 ArtistAnimation 中显示更改子图标签 (plt.text) 的进度以及颜色变化

python - 尝试替换 pandas 数据框中的停用词,发生 sre_constants.error

python - Odoo 8 找不到模块或字段

python - 使用 SQLAlchemy 渲染 INSERT INTO SELECT RETURNING

python - 在 matplotlib 上的等高线图中标记特定级别