下面是示例数据框,如下所示:
>>> df
point x y
0 0.1 NaN NaN
1 0.2 NaN NaN
2 0.3 5.0 NaN
3 0.4 NaN NaN
4 0.5 NaN 1.0
5 0.6 NaN NaN
6 0.7 1.0 1.0
7 0.8 NaN NaN
8 0.9 NaN NaN
9 1.1 NaN NaN
10 1.2 NaN NaN
11 1.3 NaN NaN
12 1.4 NaN 2.0
13 1.5 NaN NaN
14 1.6 NaN NaN
15 1.7 NaN NaN
16 0.1 NaN NaN
17 0.2 NaN NaN
18 0.3 NaN NaN
19 0.4 NaN NaN
20 0.5 NaN NaN
21 0.6 2.0 NaN
22 0.7 NaN NaN
23 1.1 NaN NaN
我想从这个数据框中更新 point
价值条件是 x
或 y
不是 NaN
的紧接下一个值 point
将由以前的 point
下一个点值之后的值应重新编制索引(循环.1至.6)。例如,行内索引(2)在 point=0.3, x=5.0
那么,接下来呢 point
值也应为0.3而不是0.4,则行内索引(4)点=0.5将替换为0.4(递归继续)
我想要的输出:
point x y
0 0.1 NaN NaN
1 0.2 NaN NaN
2 0.3 5.0 NaN
3 0.3 NaN NaN
4 0.4 NaN 1.0
5 0.4 NaN NaN
6 0.5 1.0 1.0
7 0.5 NaN NaN
8 0.6 NaN NaN
9 1.1 NaN NaN
10 1.2 NaN NaN
11 1.3 NaN NaN
12 1.4 NaN 2.0
13 1.4 NaN NaN
14 1.5 NaN NaN
15 1.6 NaN NaN
16 0.1 NaN NaN
17 0.2 NaN NaN
18 0.3 NaN NaN
19 0.4 NaN NaN
20 0.5 NaN NaN
21 0.6 2.0 NaN
22 0.6 NaN NaN
23 1.1 NaN NaN
我试过的代码:
import pandas as pd
df = pd.read_csv("data.csv")
df['point'] = df.groupby() #Don't know how should I approach
2条答案
按热度按时间gev0vcfq1#
你能试试吗
r1zhe5dt2#
所以我尝试了一些东西。首先为我自己创建了一些数据框架。我试着跟着你的txt(对我这个非母语人士来说有点困惑)。我写了一些东西。这不是很一般,但它应该适用于您的情况,有了这个想法,我认为您可以解决问题。