
文章图片

文章图片

文章图片

文章图片
要处理文本数据 , 需要比数字类型的数据更多的清理步骤 。为了从文本数据中提取有用和信息 , 通常需要执行几个预处理和过滤步骤 。
Pandas 库有许多可以轻松简单地处理文本数据函数和方法 。在本文中 , 我介绍将学习 5 种可用于过滤文本数据(即字符串)的不同方法:
- 是否包含一系列字符
- 求字符串的长度
- 判断以特定的字符序列开始或结束
- 判断字符为数字或字母数字
- 查找特定字符序列的出现次数
import pandas as pd
df = pd.read_csv(\"example.csv\")
df
我们这个样例的DataFrame 包含 6 行和 4 列 。我们将使用不同的方法来处理 DataFrame 中的行 。 第一个过滤操作是检查字符串是否包含特定的单词或字符序列 , 使用 contains 方法查找描述字段包含“used car”的行 。但是要获得pandas中的字符串需要通过 Pandas 的 str 访问器 , 代码如下:
df[df[\"description\"
.str.contains(\"used car\")
但是为了在这个DataFrame中找到所有的二手车 , 我们需要分别查找“used”和“car”这两个词 , 因为这两个词可能同时出现 , 但是并不是连接在一起的:
df[df[\"description\"
.str.contains(\"used\") &
df[\"description\"
.str.contains(\"car\")
可以看到最后一行包含“car”和“used” , 但不是一起 。
下一个方法是根据字符串的长度进行过滤 。假设我们只对超过 15 个字符的描述感兴趣 。可以使用内置的 len 函数来执行此操作 , 如下所示:
df[df[\"description\"
.apply(lambda x: len(x) > 15)
这里就需要编写了一个 lambda 表达式 , 通过在表达式中使用 len 函数获取长度并使用apply函数将其应用到每一行 。执行此操作的更常用和有效的方法是通过 str 访问器来进行:
df[df[\"description\"
.str.len() > 15
我们可以分别使用startswith和endswith基于字符串的第一个或最后一个字母进行过滤 。
df[df[\"lot\"
.str.startswith(\"A\")
这个方法也能够检查前 n 个字符 。例如 , 我们可以选择以“A-0”开头的行:
df[df[\"lot\"
.str.startswith(\"A-0\")
Python 的内置的字符串函数都可以应用到Pandas DataFrames 中 。例如 , 在价格列中 , 有一些非数字字符 , 如 $ 和 k 。我们可以使用 isnumeric 函数过滤掉 。
df[df[\"price\"
.apply(lambda x: x.isnumeric()==True)
同样如果需要保留字母数字(即只有字母和数字) , 可以使用 isalphanum 函数 , 用法与上面相同 。
count 方法可以计算单个字符或字符序列的出现次数 。 例如 , 查找一个单词或字符出现的次数 。
我们这里统计描述栏中的“used”的出现次数:
df[\"description\"
.str.count(\"used\")
# 结果
0 1
1 0
2 1
3 1
4 1
5 0
Name: description dtype: int64
如果想使用它进行条件过滤 , 只需将其与一个值进行比较 , 如下所示:
df[df[\"description\"
- win7系统共享打印机的设置方法
- 现在市场上面的打印机有无线打印机和非无线打印机|非无线打印机,可以利用手机直接打印文件吗?
- 前几天介绍了多台电脑怎么共享一台打印机的设置方法|电脑共享打印机提示错误怎么办?
- 估计大部分用户都是按照打印机的默认设置|word中逆序打印怎么操作
- 大家有没有遇到过这样的事情|怎么设置默认打印机
- |汇总:2022年值得推荐的粘结剂喷射3D打印机
- 打印机如果显示脱机状态无法打印时|打印机如果显示脱机状态无法打印怎么办?
- 在打印文档的过程中|word文档打印指定区域内容怎么打印
- 3D打印|世界顶尖技术横空出世,全球只有我国掌握,美国三次求购被拒
- 大家早上好呀!今天我就分享Excel表格的打印技巧|excel表格的打印技巧,分分钟解决你的打印问题!
