我有一个很大的数据集(2000万行)。数据集包含2018年和2019年一个人的居住位置信息。如果变量“county”在2018年和2019年的值相同,我希望编写一个条件,返回true;如果两个值不同,则返回false。实现这一目标最有效的方法是什么?
df=pd.DataFrame({'id': [10, 10, 20, 20, 30, 30, 40, 40], 'year': [2018, 2019, 2018, 2019, 2018, 2019, 2018, 2019],
'county' : ['1', '1', '4', '2', '3', '3', '1', '3']})
我的目标是创建一个新列,该列对于id 10为true(stayer),对于id 20为false(mover)
1条答案
按热度按时间osh3o9ms1#
对于更有效的解决方案,请不要使用lambda函数,应比较快
first
及last
每个组的值,如:另一种非分组解决方案应该更有效: