我有一个如下所示的数据框:
[memcache]
memcache_extension="/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/memcache.so"
extension=memcache.so
dtypes是:
docs_df2.sample(10)
现在我想查看filetype object
hash object
num_users int64
num_tags int64
dtype: object
的分布情况,因此我绘制了按num_tags
分组的数据框的count()(num_tags
是唯一的):
到目前为止一切都那么好,但我现在想要一个直方图,这样我就可以清楚地看到我的数据的幂律性质,我得到的结果是我认为它们是以错误的方式绘制的:
hash
:
但这不是我想要的。
我想要的是按照频率排序的 x轴中docs_df.groupby('num_tags')['hash'].count().plot(kind='hist')
(全部31个)的不同“类型”,以及实际频率的 y轴
这样的事情:
答案 0 :(得分:2)
你想要做的不是直方图。直方图将用于显示某些度量的频率(计数),同时将一系列度量拟合到指定数量的区间中。您已经计算了数据。你想要的是一个有序的条形图。例如,因为我无法使用您的数据......
df= pd.DataFrame(np.random.randint(1,10,(1000,2)),columns=['num_users','num_tags'])
df.groupby('num_tags').count()['num_users'].plot(kind='bar')
现在我们只需要对条形图进行排序
df.groupby('num_tags').count()['num_users'].sort_values(ascending=False).plot(kind='bar')