1
很抱歉,对于StackOverflow和Python来说相对较新。我有一个20.000 price_variation的数据库。由于第二行代码,我按范围将它们分组,但无法在图形中显示结果。有人了解错误消息吗?还是我有另一个建议来显示结果?
非常感谢您的帮助!
答案 0 :(得分:2)
y
对于bar
图来说不是有效的整数。您需要指定height
。由于您有连续的等距间隔的垃圾箱,因此您可以指定垃圾箱的宽度和边缘对齐方式,以使它们看起来应该正确。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame({'price_variation': np.random.normal(0,0.12,10000)})
ranges = (-0.4, -0.35, -0.3, -0.25, -0.2, -0.15, -0.1, -0.05, 0, 0.05, 0.1, 0.15 ,0.2, 0.25, 0.3, 0.35, 0.4)
number_observations = df.groupby(pd.cut(df['price_variation'], ranges)).count()
# Get the bins and alignment correct
plt.bar(x=ranges[:-1],
height=number_observations.price_variation.values,
width=np.diff(ranges)[0],
ec='k',
align='edge')
plt.show()