我有一个长度间隔数据(来自钻孔)的数据帧,如下所示:
df
Out[46]:
from to min intensity
0 0 10 py 2
1 5 15 cpy 3.5
2 14 27 spy 0.7
我需要透视这些数据,但也要在最小公共长度间隔上断开它;结果是“min”列作为列标题,而值是“rank”。输出如下所示:
^{pr2}$因此,基本上“从”和“到”描述了钻孔下的非重叠层段,其中间隔被最小公分母分开-正如你所见,原始表格中的“py”间隔被拆分,第一个(0-5m)被拆分成py:2,cpy:0和第二个(5-10米)进入py:2,cpy:3.5。在
一个基本的pivot_table函数的结果是:
pd.pivot_table(df, values='intensity', index=['from', 'to'], columns="min", aggfunc="first", fill_value=0)
Out[48]:
min cpy py spy
from to
0 10 0 2 0
5 15 3.5 0 0
14 27 0 0 0.75
它只将from和to列组合成一个索引。重要的一点是,我的输出不能有重叠的from和to值(即后面的“from”值不能小于前一个“to”值)。在
有没有一种优雅的方法可以利用熊猫来实现这一点?谢谢你的帮助!在
我不懂熊猫的自然区间运算,所以你需要做。 这里有一个方法,如果我正确地理解了约束条件。 这可能是一个O(n^3)问题,它将为大条目创建一个巨大的表。在
用于:
^{pr2}$相关问题 更多 >
编程相关推荐