如何删除在 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,现在我想删除包含某些通配符的行,它可能是 dev 或 testing-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:如何从包含列表中值的数据框中删除所有列?