TypeError:<lambda>()至少接受2个参数(给定1个)

时间:2018-11-26 20:48:52

标签: python pandas python-2.7

1

很抱歉,对于StackOverflow和Python来说相对较新。我有一个20.000 price_variation的数据库。由于第二行代码,我按范围将它们分组,但无法在图形中显示结果。有人了解错误消息吗?还是我有另一个建议来显示结果?

非常感谢您的帮助!

1 个答案:

答案 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()

enter image description here