2
我有长间隔的数据的数据帧(从钻孔)的数据看起来是这样的:木材长度(米)的间隔与熊猫
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'。输出应该是这样的:
df.somefunc(index=['from','to'], columns='min', values='intensity', fill_value=0)
Out[47]:
from to py cpy spy
0 0 5 2 0 0
1 5 10 2 3.5 0
2 10 14 0 3.5 0
3 14 15 0 3.5 0.7
4 15 27 0 0 0.7
所以基本上“从”和“至”描述不重叠的区间向下钻孔,其中间隔被拆的最小公分母 - 正如你所看到的已经将原始表中的“py”间隔分割为第一个(0-5m)和py:2,cpy:0,第二个(5-10m)分割为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
刚刚对待从和到组合作为索引列。重要的一点是我的输出不能与值相重叠(IE后面的'from'值不能小于之前的'to'值)。
有没有一个使用熊猫来完成这个优雅的方法?谢谢您的帮助!
哇,这是实际上的代码少了很多线,然后我想这将需要。非常感谢!!! –