【发布时间】:2018-02-22 03:26:13
【问题描述】:
我有看起来像这样的熊猫数据框:
Time Conc. Flux
0 0.220000 0.000000e+00 NaN
1 0.536800 0.000000e+00 NaN
2 0.992992 0.000000e+00 NaN
3 1.000000 0.000000e+00 -0.009888
4 1.220000 0.000000e+00 NaN
5 1.536800 0.000000e+00 NaN
6 1.992992 0.000000e+00 NaN
7 2.649909 0.000000e+00 NaN
8 3.595869 0.000000e+00 NaN
9 4.958052 0.000000e+00 NaN
10 6.919595 0.000000e+00 NaN
11 9.744217 0.000000e+00 NaN
12 13.811673 0.000000e+00 NaN
13 19.668812 0.000000e+00 NaN
14 28.103090 0.000000e+00 NaN
15 31.000000 0.000000e+00 -0.009729
16 31.220001 0.000000e+00 NaN
17 31.536800 0.000000e+00 NaN
18 31.992992 0.000000e+00 NaN
19 32.649910 0.000000e+00 NaN
20 33.595871 0.000000e+00 NaN
21 34.958054 0.000000e+00 NaN
22 36.919594 0.000000e+00 NaN
23 39.744217 0.000000e+00 NaN
24 43.811672 0.000000e+00 NaN
25 49.668808 0.000000e+00 NaN
26 58.103088 0.000000e+00 NaN
27 61.000000 0.000000e+00 -0.009751
. . . .
. . . .
. . . .
我正在尝试以一种有效(快速)的方式将 NaN 替换为它们下方的数字。基本上,通量列是一个阶梯函数,在下一个值之前是恒定的。我确实有单独的通量数据框:
Time [day] Flux
0 1.0 -0.009888
1 31.0 -0.009729
2 61.0 -0.009751
3 91.0 -0.009727
4 121.0 -0.009723
5 151.0 -0.016197
6 181.0 -0.015375
7 211.0 -0.014224
8 241.0 -0.019393
9 271.0 -0.012164
. . .
. . .
. . .
我尝试在两个数据帧之间使用嵌套循环并一一重写 NaN,但速度非常慢。我有大约 100 个数据帧,每个数据帧有大约 4000 行。 注意:浓度不一定为零,NaN 之间出现数字的距离可能会发生变化。
【问题讨论】:
-
列最初是 numpy 数组,我将它们更改为 pandas Dataframe。
标签: python pandas numpy multidimensional-array