python - 如何绘制直方图以获取所有唯一值的计数?
问题描述
我有一个 Pandas 列,其中包含 .0001 独有的数据
我想绘制一个直方图,其中每个唯一的 .0001 数据都有一个条形图。
我通过以下方式实现了很多粒度
plt.hist(df['data'], bins=500)
但我想查看每个唯一值的计数。
我该怎么做呢?谢谢你
解决方案
由于您的值是离散的,因此在这些值之间很好地设置 bin 边界很重要。如果边界与值一致,则可能会出现奇怪的舍入伪影。下面的示例将每个值设置为 10 次,但边界位于值顶部的直方图将最后两个值放入同一个 bin 中:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.DataFrame({'data': np.repeat(np.arange(0.0005, 0.0030, 0.0001), 10)})
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(15, 4))
ax1.hist(df['data'], bins=np.arange(df['data'].min(), df['data'].max(), 0.0001), ec='w')
ax1.set_title('bin boundaries on top of the values')
ax2.hist(df['data'], bins=np.arange(df['data'].min() - 0.00005, df['data'].max() + 0.0001, 0.0001), ec='w')
ax2.set_title('bin boundaries in-between the values')
plt.show()
请注意,边界在两半的版本也将 x-ticks 很好地放在了 bin 的中心。
推荐阅读
- c++ - 如何在模板推导中使用 ADL?
- php - phpmyadmin 进程 id 很高而且增长很快,正常吗?
- trusted-web-activity - 如何检测我的网站是否在受信任的 Web 活动中打开?
- javascript - 焦点({preventScroll: true})在 Chrome 中不起作用
- datastore - 带有 datastore_search_sql 的 CkanAPI 上的内部服务器错误
- javascript - PWA:重定向到子域时显示地址栏
- reactjs - React & TypeScript HOCs - 为什么我得到 Type '{}' is notassignable to Type P?
- java - SMS 和 MMS URL 链接预览如何在移动设备上工作
- c++ - 如何在静态库的头文件中隐藏模板定义
- javascript - Radium Reactjs 伪选择器