标签: ffill

前向填充仅特定值

我有一个表示对象状态的数组,其中 0 - 对象关闭,1 - 对象打开。

import pandas as pd
import numpy as np

s = [np.nan, 0, np.nan, np.nan, 1, np.nan, np.nan, 0, np.nan, 1, np.nan]
df = pd.DataFrame(s, columns=["s"])
df
      s
0   NaN
1   0.0
2   NaN
3   NaN
4   1.0
5   NaN
6   NaN
7   0.0
8   NaN
9   1.0
10  NaN
Run Code Online (Sandbox Code Playgroud)

我只需要转发其中的 0 值,如下所示。

>>> df_wanted
      s
0   NaN
1   0.0
2   0.0
3   0.0
4   1.0
5   NaN
6   NaN
7   0.0
8   0.0
9 …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas ffill

5
推荐指数
1
解决办法
171
查看次数

前向填充上述值的块 pandas

我对在 pandas 的列中向前填充单个值和多个值感兴趣。使用以下数据框:

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df
    0   1   2
0   1   2   3
1   4 NaN NaN
2 NaN NaN   9 
Run Code Online (Sandbox Code Playgroud)

正向填充将产生:

df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df.fillna(method='ffill')
df
   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9
Run Code Online (Sandbox Code Playgroud)

但是,我需要一种类似填充的方法来执行此操作,或者如果上面的值彼此连续,则复制所有上述值:

df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, 5, 9], [None,None,None])
df
    0   1   2 …
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas ffill

3
推荐指数
1
解决办法
1349
查看次数

标签 统计

ffill ×2

numpy ×2

pandas ×2

python ×2

dataframe ×1