如何删除在 Python 数据框中部分包含字符串的行 [重复]

Posted

技术标签:

【中文标题】如何删除在 Python 数据框中部分包含字符串的行 [重复]【英文标题】:How do I remove rows which in part contain a string in a Python dataframe [duplicate] 【发布时间】:2020-09-05 16:53:27 【问题描述】:

我使用 pandas 导入了一个 csv,现在我想删除包含某些通配符的行,它可能是 devtesting-dashboard - 这些是字段中较大的字符串。

我已经尝试了各种方法来为我的 minus_testing_dashboard 变量执行此操作,但它们都不起作用

import numpy as np
import pandas as pd

raw_data = pd.read_csv('No License Key.csv', delimiter = ',', keep_default_na=False, low_memory=False)

selected_raw_data = raw_data[['App Config', 'App Name', 'App UUID', 'Machine ID', 'Estimated Company']].reset_index()

print(selected_raw_data.head(25))

minus_testing_dashboard = selected_raw_data.apply(lambda row: row.astype(str).str.contains('testing-dashboard').any(), axis=1).reset_index()

unique_desktops = minus_testing_dashboard['Machine ID'].nunique()
print(unique_desktops)

【问题讨论】:

【参考方案1】:

IIUC str.contains 将关键字加入按位 OR 字符串后。

df = pd.DataFrame('A' : ['dev_testing_123_456',
                         'just a test',
                         'testing-dashboard',
                         'keep me',
                         'and me'])

pat = '|'.join(['testing-dashboard','dev'])
#'testing-dashboard|dev'

print(df[~df['A'].str.contains(pat)])

             A
1  just a test
3      keep me
4       and me

【讨论】:

您在哪里指定“A” - 您还可以指定表中的其他列吗?所以搜索会遍历多个列? 您需要堆叠列,提供数据样本,然后我将编辑我的答案@Steve Wood

以上是关于如何删除在 Python 数据框中部分包含字符串的行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在python数据框中删除不包含列中特定字符串的多列的重复项

Python Pandas:如何从包含列表中值的数据框中删除所有列?

从另一个数据框中删除包含相同日期的行-python-大熊猫

如何在包含子字符串的数据框中查找所有行?

Python - 正则表达式将数据框中的一列拆分为 2 [重复]

删除数据框中的列