【基础】利用Pandas的字符串处理函数进行文本数据的清洗和提取。
发布时间: 2024-06-24 15:02:51 阅读量: 85 订阅数: 143
Python pandas 数据清洗 基础教程
![【基础】利用Pandas的字符串处理函数进行文本数据的清洗和提取。](https://img-blog.csdnimg.cn/20191231143826750.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUwNjI1Mw==,size_16,color_FFFFFF,t_70)
# 2.1 字符串替换和删除
### 2.1.1 str.replace()函数
`str.replace()` 函数用于替换字符串中的特定字符或子字符串。其语法如下:
```python
str.replace(old, new, n=-1, regex=False)
```
其中:
* `old`:要替换的字符或子字符串。
* `new`:替换后的字符或子字符串。
* `n`:替换的次数(可选,默认为全部替换)。
* `regex`:是否使用正则表达式(可选,默认为 False)。
**示例:**
```python
import pandas as pd
df = pd.DataFrame({'name': ['John Doe', 'Jane Doe', 'Peter Parker']})
# 替换所有 "Doe" 为 "Smith"
df['name'] = df['name'].str.replace('Doe', 'Smith')
print(df)
```
输出:
```
name
0 John Smith
1 Jane Smith
2 Peter Parker
```
# 2. 文本数据清洗
### 2.1 字符串替换和删除
#### 2.1.1 str.replace()函数
`str.replace()`函数用于替换字符串中的指定子字符串。其语法如下:
```python
str.replace(old, new, n=-1)
```
其中:
- `old`:要替换的子字符串。
- `new`:替换后的子字符串。
- `n`:替换的次数。默认为-1,表示全部替换。
**代码块:**
```python
import pandas as pd
df = pd.DataFrame({'text': ['Hello World', 'Hello Python', 'Hello Pandas']})
# 替换所有"Hello"为"Hi"
df['text'] = df['text'].str.replace('Hello', 'Hi')
print(df)
```
**逻辑分析:**
该代码块使用`str.replace()`函数将DataFrame中`text`列中的所有"Hello"替换为"Hi"。
#### 2.1.2 str.strip()和str.lstrip()函数
`str.strip()`和`str.lstrip()`函数用于移除字符串两端或左端的空白字符。
- `str.strip()`:移除两端的空白字符。
- `str.lstrip()`:移除左端的空白字符。
**代码块:**
```python
# 移除两端的空白字符
df['text'] = df['text'].str.strip()
# 移除左端的空白字符
df['text'] = df['text'].str.lstrip()
```
### 2.2 字符串分割和连接
#### 2.2.1 str.split()函数
`str.split()`函数用于将字符串按照指定分隔符分割成列表。其语法如下:
```python
str.split(sep=None, maxsplit=-1)
```
其中:
- `sep`:分隔符。默认为None,表示空白字符。
- `maxsplit`:分割的最大次数。默认为-1,表示全部分割。
**代码块:**
```python
# 以空格为分隔符分割字符串
df['text'] = df['text'].str.split()
# 以逗号为分隔符分割字符串,最多分割两次
df['text'] = df['text'].str.split(',', maxsplit=2)
```
#### 2.2.2 str.join()函数
`str.join()`函数用于将列表中的元素连接成字符串。其语法如下:
```python
str.join(sep='')
```
其中:
- `sep`:连接符。默认为空字符串。
**代码块:**
```python
```
0
0