python - 删除熊猫df中的特定值和后续行
问题描述
我想delete
具体rows
在一个pandas
df
. 我想删除row
基于不需要的值加上后续的row
. 对于以下内容df
,我想删除row
whereCode == 'Cat'
加上后续的row
. 下面是我的尝试。
import pandas as pd
将熊猫导入为 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
推荐阅读
- java - JavaFX - 节点文本上的第一个下划线不呈现
- python-3.x - 无法从 https://www.gbgb.org.uk/meeting/?meetingId=355352&raceId=576255 抓取数据
- c# - 将 ASP.net 表单与 access database 2015 连接并在本地域控制服务器上发布 asp.net 网站
- python - 我正在制作一个使用 8ball 的机器人,所以它说“随机”不是 var 但我还能怎么做,随机回答?
- regex - 如果单元格包含对另一个工作表的引用,则 Google 工作表条件格式
- android - 在不同的端口运行多个 react-native 应用程序
- django - 在属性 = 值上过滤/排序 django rest api,但属性是值而不是字段
- python - 尝试分析列表列表之间的值
- c# - 如何从 Umbraco 的特定文化中获取内容
- c - 解决访问冲突