欢迎光临散文网 会员登陆 & 注册

pandas处理文本数据实例:芝加哥食品检查、公司客户地址

2023-07-27 14:22 作者:矢来美羽MIUYARAI  | 我要投稿

芝加哥食品检查(注意,有15万行数据)chicago_food_inspections.csv
公司客户地址:customers.csv
链接:https://pan.baidu.com/s/1zNYRXzBSvwUxKABQS6DOBA?pwd=1234

1. 字符串空格

输出后发现,没有右对齐,因此是存在前后空格的非标准字符串:

删除前后空格.strip():【仅左空格是.lstrip(),仅右空格是.rstrip()】

针对每列操作,使用for循环:

2. 字母大小写

全部小写:

全部大写:

字符串首字母大写:

每个单词首字母大写:

3. 字符串切片

提取每一行的风险级别High、Medium、Low。

3.1 首先检查数据,是否都符合要求。

查看唯一值:.unique()

可见除了'Risk 1 (High)'、'Risk 2 (Medium)'、'Risk 3 (Low)'还有'All'和nan:

解决方案:将nan行删去、将'All'改为'Risk 4 (Extreme)'

将nan行删去:.dropna(subset = ["Risk"])

将'All'改为'Risk 4 (Extreme)':.replace()

现在符合要求:

3.2 切片

按字符串顺序:.slice()

或者直接列表切片:

包括5,不包括6,提取的就是Risk后面的数字:

不规则长度的风险级别切片:

成功实现:

4. 文本查找

字符串包含"pizza":contains()

字符串开头/结尾包含"tacos":startwith() / endwith()

5. 字符串拆分

对于customers.csv,姓名拆分为列表:

第3个名字被拆了两次。限制最大拆分数:

列表中内容提取:get()【可以是0、1、-1】

生成DataFrame而非Series的列表:expand=True

添加到之前的DataFrame中:

删除本来的Name列:

6. 拓展

可以用同样的方法处理Address。

在.replace()中,可以用regex = True参数打开正则表达式。


pandas处理文本数据实例:芝加哥食品检查、公司客户地址的评论 (共 条)

分享到微博请遵守国家法律