我要吧dataframe里面某列中的"0123456789"都替换成 "零一二三四五六七八九"
时间: 2023-08-10 22:04:31 浏览: 78
您可以使用 Pandas 库中的 `str.replace()` 方法来实现这个功能。具体步骤如下:
1. 选取需要替换的列。
2. 使用 `str.replace()` 方法,将需要替换的字符和替换后的字符作为参数传入。
下面是一个示例代码,假设需要替换的列为 `col1`:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'col1': ["产品1期", "产品2期", "产品3期"], 'col2': ["产品一期", "产品二期", "产品三期"]})
# 定义替换字符的映射关系
trantab = str.maketrans("0123456789", "零一二三四五六七八九")
# 使用 str.replace() 方法进行替换
df['col1'] = df['col1'].str.replace('\d', lambda x: x.group().translate(trantab))
print(df)
```
输出结果为:
```
col1 col2
0 产品零期 产品一期
1 产品一期 产品二期
2 产品二期 产品三期
```
在上面的代码中,我们使用 `str.replace()` 方法来替换需要替换的列 `col1` 中的数字。在第二个参数中,我们传入了一个 lambda 函数,用于将匹配到的数字进行翻译。在 lambda 函数中,我们使用 `str.maketrans()` 方法来创建字符映射表 `trantab`,然后使用 `translate()` 方法将数字翻译成中文。
阅读全文