小编McR*_*Rae的帖子

使用 lambda 以字符串开头时替换 DataFrame 列中的值

我有一个数据框:

import pandas as pd
import numpy as np
x = {'Value': ['Test', 'XXX123', 'XXX456', 'Test']}
df = pd.DataFrame(x)
Run Code Online (Sandbox Code Playgroud)

我想使用 lambda 用 np.nan 替换以 XXX 开头的值。

我尝试了很多替换、应用和映射的方法,我能做的最好的是 False, True, True, False。

下面的工作,但我想知道一个更好的方法来做到这一点,我认为应用,替换和 lambda 可能是一个更好的方法来做到这一点。

df.Value.loc[df.Value.str.startswith('XXX', na=False)] = np.nan
Run Code Online (Sandbox Code Playgroud)

lambda replace startswith apply pandas

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

标签 统计

apply ×1

lambda ×1

pandas ×1

replace ×1

startswith ×1