Pandas 删除含有关键词的行:高效过滤数据
使用 Pandas 库可以轻松删除 DataFrame 中含有特定关键词的行。您可以使用 str.contains() 函数来查找包含关键词的行,然后使用 drop() 函数删除它们。
示例代码
import pandas as pd
# 创建一个包含关键词的 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'age': [25, 30, 35, 40, 45],
'city': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'San Francisco']}
df = pd.DataFrame(data)
# 删除含有关键词的行
df = df[~df['city'].str.contains('York|Houston')]
print(df)
输出结果:
name age city
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
4 Eva 45 San Francisco
在这个示例中,我们使用了 ~ 运算符来取反,将含有关键词的行删除。如果想要删除全部含有关键词的行,可以使用 drop() 函数:
df = df.drop(df[df['city'].str.contains('York|Houston')].index)
解释:
str.contains('York|Houston'):查找city列中包含 'York' 或 'Houston' 的行,返回一个布尔型 Series。~运算符:取反操作,将包含关键词的行变为False,其他行变为True。df[... ]:使用布尔型 Series 筛选 DataFrame,只保留True的行。df.drop(...):使用drop()函数,删除df[df['city'].str.contains('York|Houston')].index指定的行,实现删除包含关键词的行。
总结:
使用 str.contains() 和 drop() 函数可以有效地删除 DataFrame 中包含特定关键词的行,提高数据处理效率。您还可以根据实际需要调整关键词和筛选条件,灵活应用这些函数进行数据清洗和过滤。
原文地址: https://www.cveoy.top/t/topic/nyqu 著作权归作者所有。请勿转载和采集!