Pandas 2.1.0 警告“Series.replace 中的 'method' 关键字已弃用,并将在未来版本中删除”

Lex*_*row 2 python replace dataframe pandas deprecation-warning

我有一行 pandas 代码,它给了我标题中所述的未来弃用警告,但我在 pandas 文档中找不到如何修改它以删除警告。该行代码如下:

df['temp_open']=df['temp_open'].replace('',method='ffill')
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

我尝试填补空白并且它有效,但我想摆脱警告。

Tim*_*ess 6

你可以这样做:

df["temp_open"] = df["temp_open"].replace("", None).ffill()
Run Code Online (Sandbox Code Playgroud)

如果你想保持空值(如果有的话)不受影响,你可以使用:

df["temp_open"] = (
    df["temp_open"].replace("", None).ffill().where(df["temp_open"].notnull())
)
Run Code Online (Sandbox Code Playgroud)

输出 :

print(df)

  temp_open
0         A
1         A
2       NaN
3         B
4         C
5         C
Run Code Online (Sandbox Code Playgroud)

使用的输入:

df = pd.DataFrame({"temp_open": ["A", "", None, "B", "C", ""]})
Run Code Online (Sandbox Code Playgroud)