猿问

如果存在于另一个数据框列中,则替换熊猫数据框列中的元素

有两个数据框:


train = pd.DataFrame({'Alpha': [10, 22, 10, 45, 44, 21, 62, 84, 32, 97, 38]})

test = pd.DataFrame({'Alpha': [10, 97, 32, 34, 44, 76, 49]})

如果 train 中不存在每个测试值,则应将测试值替换为 -1。


预期输出:[10, 97, 32, -1, 44, -1, -1]因为 34、76 和 49 不在火车中。


我尝试了什么:


for x in test.Alpha:

    if x not in train.Alpha:

        test = test.Alpha.replace(x, -1)

不工作。


翻过高山走不出你
浏览 124回答 1
1回答

鸿蒙传说

你可以这样做isin:test.loc[~test.Alpha.isin(train.Alpha), 'Alpha'] = -1输出test:   Alpha0     101     972     323     -14     445     -16     -1
随时随地看视频慕课网APP

相关分类

Python
我要回答