我有一些数据,我正在使用pd.cut将它们分类

import pandas as pd
import matplotlib.pyplot as plt

garbage = 50*np.random.rand(100)

g=pd.DataFrame(data=garbage,columns=['a'])
g['a_binned'] = pd.cut(g['a'],bins=np.arange(0,100,5),labels=False)
g['a_binned_labelled'] = pd.cut(g['a'],bins=np.arange(0,100,5),labels=True)


然后我分组,我数

g_binned=g.groupby(['a_binned'])['a'].count()

plt.bar(g_binned.index,g_binned.cumsum().values)


我希望我的xticklabels是具有g['a_binned_labelled'].index值的字符串,因此例如'(10, 15]', '(25, 30]'

我想避免使用熊猫绘图功能。

最佳答案

由于切割索引按升序排序,因此可以针对一系列数字绘制条形图并将刻度标签设置为索引值。这样可以确保正确订购钢筋。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

garbage = 50*np.random.rand(100)

g=pd.DataFrame(data=garbage,columns=['a'])
g['a_binned'] = pd.cut(g['a'],bins=np.arange(0,100,5), )
g_binned=g.groupby(g['a_binned'])['a'].count()


plt.bar(range(len(g_binned)),g_binned.cumsum().values)
plt.xticks(range(len(g_binned)), g_binned.index, rotation=90)

plt.gcf().autofmt_xdate(rotation=90, ha="center")
plt.show()


python - pd.cut类别为plt.xticklabels-LMLPHP

关于python - pd.cut类别为plt.xticklabels,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48528543/

10-09 20:35