Pandas - 将多个数据框按照组或切割成区间

4
我有一个包含起始轴点和终点的数据框,格式如下

x       y       x_end   y_end   distance
14.14   30.450  31.71   41.265  20.631750
-27.02  55.650  -33.60  63.000  9.865034
-19.25  70.665  -28.98  80.115  13.563753
16.45   59.115  9.94    41.895  18.409468

我正在绘制一张热力图。我需要每个地图上的“区域”都有一条线,显示该区域中具有x/y的线条及其x_end/y_end的平均距离和角度。它看起来像这样: enter image description here 我的容器是:
xbins = np.linspace(-35, 35, 11)

ybins = np.linspace(0, 105, 22)

我已经绘制了一个热力图

enter image description here

我正在寻找类似于这样的东西

Bins_X           Bins_Y     Average_X_End   Average_Y_End   Average_Distance
(-35.0, -28.0]  (0, 5.0]    31.71           41.265          20.631750
(-28.0, -21.0]  (0, 5.0]    -33.60          63.000          9.865034
(-21.0, -14.0]  (0, 5.0]    -28.98          80.115          13.563753
(-14.0, -7.0]   (0, 5.0]    9.94            41.895          18.409468
(-35.0, -28.0]  (5.0, 10.0] 41.265          31.71           13.563753
(-28.0, -21.0]  (5.0, 10.0] 63.000          -33.60          18.409468
(-21.0, -14.0]  (5.0, 10.0] 80.115          -28.98          20.631750
(-14.0, -7.0]   (5.0, 10.0] 41.895          9.94            9.865034
1个回答

2

像这样的吗?

(注:已保留HTML标签)
(df.drop(['x','y'], axis=1)
  .groupby([pd.cut(df.x, xbins),
            pd.cut(df.y, ybins)],
          )
   .mean()
   .dropna(how='all')
   .add_prefix('Average_')
)

输出:

                             Average_x_end  Average_y_end  Average_distance
x              y                                                           
(-28.0, -21.0] (55.0, 60.0]         -33.60         63.000          9.865034
(-21.0, -14.0] (70.0, 75.0]         -28.98         80.115         13.563753
(14.0, 21.0]   (30.0, 35.0]          31.71         41.265         20.631750
               (55.0, 60.0]           9.94         41.895         18.409468

又是一个新手问题:结果似乎不是数据框。我该如何获取x和y来绘制从(x,y)到(x_end,y_end)的线条?(这里距离似乎相当冗余) - Chris Maverick
啊,这是一个数据框。但是不能调用 df['x'],只能调用 df['Average_x_end']。 - Chris Maverick
在 groupby x 之后,会生成一个索引。您可以链式调用 reset_index() 来重新获得名为 x 的列。 - Quang Hoang
1
无论如何,也许我会找出如何获得箱的平均值。你回答了我的问题。非常感谢您:D - Chris Maverick
“mean of bins” 是什么意思? - Quang Hoang
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接