下面是我的数据集的一个示例:
[index] [pressure] [flow rate]
0 Nan 0
1 Nan 0
2 3 25
3 5 35
4 6 42
5 Nan 44
6 Nan 46
7 Nan 0
8 5 33
9 4 26
10 3 19
11 Nan 0
12 Nan 0
13 Nan 39
14 Nan 36
15 Nan 41
我想找出压力和流量之间的多项式关系,当两者的数据都存在时(在这个例子中,我们可以看到压力和流量从指数0到指数4都有数据点),然后我需要根据我在上面发现的多项式关系将南值的压力值扩展到两个数据都再次存在的点(在这种情况下,数据再次从索引8显示到索引11),在这种情况下,我需要找到压力和流量之间的一个新的多项式关系,并根据我的新关系进一步扩展压力值,直到下一个可用的数据,等等。我很感激任何关于如何最好地做到这一点的建议。
发布于 2022-07-14 22:12:37
你可以interpolate
df['[pressure 2]'] = df.set_index('[flow rate]')['[pressure]'].interpolate('polynomial', order=2).values
输出
[index] [pressure] [flow rate] [pressure 2]
0 0 2.0 21 2.000000
1 1 4.0 29 4.000000
2 2 3.0 25 3.000000
3 3 5.0 35 5.000000
4 4 6.0 42 6.000000
5 5 NaN 44 6.000000
6 6 NaN 46 NaN
7 7 NaN 50 NaN
8 8 5.0 33 5.000000
9 9 4.0 26 4.000000
10 10 3.0 19 3.000000
11 11 6.0 44 6.000000
12 12 NaN 41 5.915690
13 13 NaN 39 5.578449
14 14 NaN 36 5.044156
15 15 NaN 40 5.775173
注意:其余的NaNs不能在没有歧义的情况下内插,如果需要,可以使用ffill
。
https://stackoverflow.com/questions/72986665
复制相似问题