python - 删除包含严格和特定值/int/字符串的行?
问题描述
我想删除Copy 1
column 中包含的每一行copy_nb
:
我尝试了 pandas 简单易用的功能,Series.str.contains
如下所示:
df=df[~df.copy_nb.str.contains("Copy 1", na=False)]
不幸的是,它正在删除包含Copy 1
,Copy 10
以及 ,Copy 11
等的列。
这是我要清理的数据框示例:
解决方案
您可以选择列 copy_nb 不等于值“复制 1”的行,如下例所示:
import numpy as np
import pandas as pd
df = pd.DataFrame({
"copy_nb": [np.nan, np.nan, "Copy 1", "Copy 2"],
"other_column": [1, 2, 3, 4]
})
print(df)
df_copy1_removed = df.loc[df.copy_nb != "Copy 1", :] # Here the selection happens
print(df_copy1_removed)
推荐阅读
- android - 为视频应用选择 HLS 或 MPEG-DASH
- sql - TO_NUMBER 表示整数
- python - 如何在 python 中使用 matplotlib 将文本放入图中
- mysql - 在日志表上按顺序使用多个连接优化 MySQL 查询以找到最大差异(最佳记录)
- html - HTML:H1 类不居中
- windows - 如何在 TextBox 占位符中使用字形
- php - 如何计算结果
- regex - 正则表达式检查包含“E”指数的 DEFINE 数字集
- google-analytics - 链接点击数和推荐数之间的差异
- powershell - 从 Power shell 窗口捕获非 Power shell 内部命令的可见文本