如何在Python中基于Country列筛选Cost/Period为空的异常行
筛选Country有效但Cost/Period为空的行
1. Excel 实现
- 添加辅助列(如
检查状态),用公式标记不符合要求的行:
(A列为Country,B列为Period,C列为Cost)=IF(AND(NOT(ISBLANK(A2)),OR(ISBLANK(B2),ISBLANK(C2))),"不合格","合格") - 筛选
检查状态为不合格的行,即可得到目标数据。
2. Python Pandas 实现
直接通过布尔索引筛选目标行:
import pandas as pd # 读取数据,替换为你的数据路径或数据源 df = pd.read_csv("data.csv") # 筛选条件:Country非空,且Cost/Period至少一个为空 invalid_rows = df[df['Country'].notna() & (df['Cost'].isna() | df['Period'].isna())] # 查看或保存结果 print(invalid_rows) invalid_rows.to_csv("invalid_rows.csv", index=False)
3. SQL 实现
如果数据存储在数据库中,用以下查询语句:
SELECT * FROM your_table WHERE Country IS NOT NULL AND (Cost IS NULL OR Period IS NULL);
内容的提问来源于stack exchange,提问作者JULLLLLLLLLL
相关产品推荐
相关产品推荐

