给定一个 Pandas 数据框
df = pd.DataFrame({'a': [None,1,None,None,2,None], 'b': [None,None,None,3,None,4]})
a b
0 NaN NaN
1 1.0 NaN
2 NaN NaN
3 NaN 3.0
4 2.0 NaN
5 NaN 4.0
我想在 non-blankb
之后返回下一个 non-blank 的位置和值a
,并将这个位置和值放入 non-blank 旁边的新列中a
,所以:
a b position value
0 NaN NaN NaN NaN
1 1.0 NaN 3 3.0
2 NaN NaN NaN NaN
3 NaN 3.0 NaN NaN
4 2.0 NaN 5 4.0
5 NaN 4.0 NaN NaN
如果有任何区别,则索引是一个Date_Time
值,position
结果应该是 的 Date_Time 索引a
。
不会有a
和b
在同一条线上 - 它们是随着时间的推移(坦克水平)的最小值和最大值。