Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pandas以十进制增量计算装箱平均值_Python_Pandas_Bin - Fatal编程技术网

Python 使用pandas以十进制增量计算装箱平均值

Python 使用pandas以十进制增量计算装箱平均值,python,pandas,bin,Python,Pandas,Bin,我有一个pandas数据帧,我想计算它的装箱平均值。 为了存储数据,我不使用存储箱的数量,而是在寻找一种解决方案(可能是在线解决方案),我可以为其指定存储箱的大小。例如,根据该数据: A B 0.1 4.2 0.15 2.0 0.17 3.0 0.2 6.4 0.3 1.0

我有一个pandas数据帧,我想计算它的装箱平均值。 为了存储数据,我不使用存储箱的数量,而是在寻找一种解决方案(可能是在线解决方案),我可以为其指定存储箱的大小。例如,根据该数据:

                A     B
               0.1   4.2
               0.15  2.0
               0.17  3.0 
               0.2   6.4
               0.3   1.0
               0.35  5.0
               0.4   10.0
               0.43  2.0
               0.5   8.0
我想为列A指定
bin\u size=0.1
获取以下数据帧作为我的bined平均值:

                   A       B                          
    (0.1,0.2)     0.14     3.06
    (0.3,0.4)     0.35     5.33
    (0.4,0.5)     0.44     6.66
如果我要指定垃圾箱的数量,我会通过以下方式解决:

    groups = df.groupby(pd.cut(df.A, bins))
    df2 = pd.DataFrame(groups.mean())

但是,正如我所说的,我正在寻找一种解决方案,其中我指定了垃圾箱的大小。可能需要强调的是,我的数据集有33961行。

您可以使用一个以0.1等分的numpy数组定义
存储箱

ranges = np.arange(df.A.min() - 0.1, df.A.max() + 0.1, 0.1)  #[0, 0.1, 0.2, 0.3 ...] 
groups = df.groupby(pd.cut(df.A, ranges))
groups.mean()


#               A           B
#  A        
# (0.0, 0.1]    0.100000    4.2
# (0.1, 0.2]    0.173333    3.8
# (0.2, 0.3]    0.300000    1.0
# (0.3, 0.4]    0.375000    7.5
# (0.4, 0.5]    0.465000    5.0