gpt4 book ai didi

python - 删除 pandas df 中的特定值和后续行

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:58 28 4
gpt4 key购买 nike

我想在 pandas df删除特定的。我想根据不需要的值加上后续的 row 删除 row。对于以下 df,我想删除 row,其中 Code == 'Cat' 加上后续的 row。以下是我的尝试。

import pandas as pd

将 pandas 导入为 pd

d = ({
'Code' : ['Foo','Bar','Cat','Foo','Foo'],
'Int' : ['x','y','a','a','x'],
})

df = pd.DataFrame(d)


df = df[df.Code.shift()!='Cat']

Code Int
0 Foo x
1 Bar y
2 Cat a
4 Foo x

预期输出:

  Code Val
0 Foo x
1 Bar y
2 Foo x

最佳答案

使用boolean indexing使用 ~ 运算符(逻辑 NOT)和 | 运算符(逻辑 OR):

df[~(df.Code.eq('Cat') | df.Code.shift(1).eq('Cat'))]

Code Int
0 Foo x
1 Bar y
4 Foo x

关于python - 删除 pandas df 中的特定值和后续行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757907/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com