Python 将数组划分为多个容器

Python 将数组划分为多个容器,python,arrays,bin,Python,Arrays,Bin,我有一个file.dat,有三列(x、y和z),如下所示: 2.89e+13 1.56 5.78 4.76e+12 7.12 2.35 2.01e+10 4.53 7.23 ........ .... .... 我想把x数组分成三个箱子,计算每个箱子的中值,然后将y作为x的函数绘制出来(因此,基本上它应该给我3个点,每个箱子一个点)。你知道我是否也要把y数组划分成若干个箱子吗?我还必须绘制(x,y)的z值大于某个值。因此,我用这种方式将z阵列划分为两个存储箱: index_a

我有一个file.dat,有三列(x、y和z),如下所示:

  2.89e+13 1.56 5.78 
  4.76e+12 7.12 2.35
  2.01e+10 4.53 7.23
  ........ .... ....
我想把x数组分成三个箱子,计算每个箱子的中值,然后将y作为x的函数绘制出来(因此,基本上它应该给我3个点,每个箱子一个点)。你知道我是否也要把y数组划分成若干个箱子吗?我还必须绘制(x,y)的z值大于某个值。因此,我用这种方式将z阵列划分为两个存储箱:

index_above = (z > 6)
z = z[index_above] 
index_below = (z < 6)
z = z[index_below]

3个箱子。对于z>6和z的值,我现在如何将y作为x的函数来绘制?您如何定义垃圾箱的内容?箱子的大小应该相似吗?如果您只在y轴上绘制3个点,那么是的,您还需要将
y
点分组。您使用的是什么样的数据结构?在将相应的x、y和z值拆分为存储箱之前,可能需要将它们分组。如果您使用的是基本Python列表(或iterables),我建议您使用
zip
,但其他数据类型可能有更好的选择。
idx1 = ((x >= 10**(10)) & (x < 10**(11)))
x1 = x[idx1]
median_x1 = np.median(x1)
......
y1 = y[idx1]
median_y1 = np.median(y1)
....