Pandas:如果预定义列表中不存在,则将列值替换为空

时间:2016-06-23 20:59:21

标签: python pandas

我有一个列表A,其中包含一组合法的值。说,我有专栏df['A']。如果它们的值不在X中,我想在isin()中替换(设置​​为空字符串)元素。如何在Pandas中有效地执行此操作?

我知道有{{1}},但只检查值是否存在并返回True / False系列。

2 个答案:

答案 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 '')