如果变量不属于Python集合,则重新编码变量[重复]

问题描述 投票:0回答:1

我有一个如下所示的数据集。如果这些值不属于一组,我想重新编码。

如果我的集合 = (Apple, Orange),我希望所有其他值为“x”。

我有这个专栏。

  a     
0 Apple
1 Apple
2 Pear
3 Banana
4 Apple
5 Orange 

我想让它看起来像这个专栏:

  a
0 Apple
1 Apple
2 x
3 x
4 Apple
5 Orange
python pandas
1个回答
0
投票

使用

isin()
条件过滤列表中该列所在的行。然后将
x
分配给该列。

df = pd.DataFrame({'a': ['Apple', 'Apple', 'Pear', 'Banana', 'Apple', 'Orange']})
fruit_set = {'Apple', 'Orange'}
df.loc[~df['a'].isin(fruit_set),'a'] = 'x'
© www.soinside.com 2019 - 2024. All rights reserved.