Bin pandas数据帧按整数值

时间:2014-09-02 10:50:53

标签: python pandas

我有一个pandas数据框,我想按单列的值对数据进行分区。例如。 0-1,1-2等,从0开始,以1结束,间隔为0.1,取每个箱内每列的平均值。

我正在尝试使用pandas的.groupby功能来完成此任务。请参阅下面的代码:

 import pandas as pd
 import numpy as np

 my_df = pd.DataFrame({"a": np.random.random(100),
                   "b": np.random.random(100),
                   "id": np.arange(100)})


 bins = np.linspace(0, 1, 0.1)
 groups = my_df.groupby(np.digitize(my_df.a, bins))

 binned_data = groups.mean()

 print binned_data

然后打印行给出一个索引为“1”的行,即使“a”列的数据应该具有指定的bin的值范围。

我认为创建“垃圾箱”存在问题,但我无法解决问题。

我希望以0.1为间隔从0到1分箱10行。我怎么能做到这一点?

非常感谢。

0 个答案:

没有答案