pandas - 数据框的累积直方图
问题描述
虚拟df:
columns = ['number_of_words', 'occurrences']
data = [[1, 2312252],
[2,1000000],
[3,800000],
[4, 400000],
[5, 100000],
[6, 70000],
[7, 40000],
[8, 10000],
[9, 4000],
[10, 50]]
dummy_df = pd.DataFrame(columns=columns, data=data)
y 轴表示出现次数,x 轴表示来自 dummy_df 的单词列数。
x 轴应该是累积的,以便将值堆叠在一起。
示例:当number_of_words
= 1 时,我们有大约 230 万次出现。使用number_of_words
= 2 我们大约有 1m occurrences
,因此它应该在occurrences
= 2 处绘制 2.3m + 1m。在直方图的最后一个条目number_of_words
应该达到 sum(occurrences)。
我不想规范化它。
解决方案
由于您已经计算出频率,因此只需将其累加即可:
dummy_df['acc'] = dummy_df.occurrences.cumsum()
ax = dummy_df['acc'].plot('bar', width=1, color='b')
dummy_df['acc'].shift().plot('bar', alpha=0.7, width=1, color='r', ax=ax)
推荐阅读
- python - 计算不同文件的平均单元格值
- c - C语言循环迭代
- r - 在ggplot中合并单独的大小和填充图例
- java - 从数据列表创建嵌套对象结构
- c - c 将指向 char 数组的指针转换为 int* 与将 char* 转换为 int* 的结果相同
- javascript - Webpack inject.preload.js file not found
- plugins - 已安装 SonarQube LDAP 插件,但未显示任何更改
- asp.net-web-api - Web api 忽略路由
- android - 如何通过单击 recyclerview 中的项目来打开新活动
- rust - 使用 Rust 的 Scratchpad Crate 进行生命周期管理