python pandas字符串处理
时间: 2025-04-30 15:45:39 浏览: 31
### Python Pandas 字符串操作方法与示例
#### 数据类型的确认与转换
为了确保在Pandas中进行有效的字符串处理,需先验证`Series`或`DataFrame`的数据类型是否为`string`。对于不确定的数据类型,可以通过`.astype("string")`来强制转换。
```python
import pandas as pd
pd_not_s = pd.Series(["A", "B", "C", "Aaba", "Baca", "CABA", "dog", "cat"])
print("原始数据类型:", pd_not_s.dtype)
# 转换数据类型至 string
pd_s = pd_not_s.astype("string")
print("转换后的数据类型:", pd_s.dtype)
```
此段代码展示了如何检查并更改数据系列的存储类型为字符串[^1]。
#### 使用正则表达式进行模式匹配
当涉及到更复杂的字符串筛选条件时,可借助于正则表达式的强大功能。通过调用`str.contains()`函数,并传入相应的正则表达式作为参数,能够实现精确的内容查找。
```python
pattern = r'^[a-zA-Z]+$' # 只包含字母的简单正则表达式例子
filtered_series = pd_s[pd_s.str.contains(pattern, na=False)]
print(filtered_series)
```
这里定义了一个简单的正则表达式用于过滤只含有英文字母的项。
#### 合并与拆分多列信息
针对实际应用中的复杂场景,比如将多个字段组合成一个新的复合字段或者反过来解析现有字段内的子组件,Pandas提供了灵活的操作方式。
```python
data = {'省': ['广东省', '北京市'],
'市': ['广州市', '朝阳区']}
df = pd.DataFrame(data)
# 将两列拼接在一起形成新的‘地址’列
df['地址'] = df['省'] + df['市']
print(df[['地址']])
```
这段脚本演示了怎样把省份名和城市名列连接起来创建完整的地理位置描述[^3]。
#### 创建虚拟变量(Dummy Variables)
有时需要基于某些分类特征构建二元指示矩阵,这时可以利用`get_dummies()`函数轻松完成这一任务。
```python
dummy_df = pd.get_dummies(pd_s, prefix='letter')
print(dummy_df.head())
```
上述命令会根据输入序列生成一组布尔型的新列,每列表明原序列中特定字符的存在与否[^4]。
阅读全文
相关推荐

















