我有一个列表A
,其中包含一组合法的值。说,我有专栏df['A']
。如果它们的值不在X中,我想在isin()
中替换(设置为空字符串)元素。如何在Pandas中有效地执行此操作?
我知道有{{1}},但只检查值是否存在并返回True / False系列。
答案 0 :(得分:2)
试试这个:
df.loc[~df.A.isin(X), 'A'] = ''
答案 1 :(得分:2)
你可以通过申请来实现:
import pandas as pd
x = ['a', 'b', 'c']
data = {'foo':['a', 'a', 'q', 'p']}
df = pd.DataFrame.from_dict(data)
df_new = df['foo'].apply(lambda i: i if i in x else '')