pandas删除满足条件的行

图片

 

删除作废发票及其所在行。

train2=pd.read_excel('1.xlsx',sheet_name='4')//读取内容
print(train2)//输出

企业代号 金额 税额 价税合计 发票状态
0 E1 9401.71 1598.29 11000 有效发票
1 E1 8170.94 1389.06 9560 有效发票
2 E1 8170.94 1389.06 9560 有效发票
3 E1 4085.47 694.53 4780 有效发票
4 E1 4085.47 694.53 4780 有效发票
5 E1 15042.73 2557.27 17600 作废发票
6 E1 -2290.60 -389.40 -2680 有效发票
7 E1 -12307.69 -2092.31 -14400 有效发票
8 E1 12307.69 2092.31 14400 有效发票
9 E2 9401.71 1598.29 11000 有效发票
10 E2 8170.94 1389.06 9560 有效发票
11 E2 8170.94 1389.06 9560 有效发票
12 E2 4085.47 694.53 4780 有效发票
13 E2 4085.47 694.53 4780 有效发票
14 E2 15042.73 2557.27 17600 有效发票
15 E2 -2290.60 -389.40 -2680 有效发票
16 E2 -12307.69 -2092.31 -14400 有效发票
17 E2 12307.69 2092.31 14400 有效发票

//接下来三句代码显示drop原理
print(train2['发票状态']=='作废发票')

输出每行的属性是否满足该条件,满足为True,不满足为False。

0 False
1 False
2 False
3 False
4 False
5 True
6 False
7 False
8 False
9 False
10 False
11 False
12 False
13 False
14 False
15 False
16 False
17 False

print(train2[train2['发票状态']=='作废发票'])
//输出的是满足条件的行。

企业代号 金额 税额 价税合计 发票状态
5 E1 15042.73 2557.27 17600 作废发票

print(train2[train2['发票状态']=='作废发票'].index)
//Int64Index([5], dtype='int64')
将其变为行索引
df_clear = train2.drop(train2[train2['发票状态']=='作废发票'].index)//将满足条件的行的索引放入drop进行丢弃。
print(df_clear)

 输出

企业代号 金额 税额 价税合计 发票状态
0 E1 9401.71 1598.29 11000 有效发票
1 E1 8170.94 1389.06 9560 有效发票
2 E1 8170.94 1389.06 9560 有效发票
3 E1 4085.47 694.53 4780 有效发票
4 E1 4085.47 694.53 4780 有效发票
6 E1 -2290.60 -389.40 -2680 有效发票
7 E1 -12307.69 -2092.31 -14400 有效发票
8 E1 12307.69 2092.31 14400 有效发票
9 E2 9401.71 1598.29 11000 有效发票
10 E2 8170.94 1389.06 9560 有效发票
11 E2 8170.94 1389.06 9560 有效发票
12 E2 4085.47 694.53 4780 有效发票
13 E2 4085.47 694.53 4780 有效发票
14 E2 15042.73 2557.27 17600 有效发票
15 E2 -2290.60 -389.40 -2680 有效发票
16 E2 -12307.69 -2092.31 -14400 有效发票
17 E2 12307.69 2092.31 14400 有效发票

posted @   祥瑞哈哈哈  阅读(4529)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示