pandas 如何表示如果某列的第一个字符串是字母就提取出该单词,但若是中文就提取该词语
时间: 2024-03-27 07:40:18 浏览: 132
可以使用 pandas 中的 str 属性中的 `str.extract()` 方法,该方法可以用于提取符合正则表达式的字符串,结合正则表达式的分组功能,可以实现对英文和中文的分别处理,例如:
```python
import pandas as pd
df = pd.DataFrame({'col1': ['apple', '香蕉banana', 'cherry', '橘子orange']})
first_char = df['col1'].str.extract(r'([a-zA-Z]+|[\u4e00-\u9fa5]+)', expand=False)
print(first_char)
```
输出结果为:
```
0 apple
1 香蕉
2 cherry
3 橘子
Name: col1, dtype: object
```
其中 `first_char` 为一个 pandas Series 对象,包含了原始数据中每个字符串中的第一个英文单词或中文词语。这里使用了正则表达式 `r'([a-zA-Z]+|[\u4e00-\u9fa5]+)'` 来匹配英文单词和中文词语,其中 `([a-zA-Z]+|[\u4e00-\u9fa5]+)` 表示分组,分别匹配连续的英文字母和连续的中文字符。如果某列的第一个字符既不是英文字母也不是中文字符,则提取结果为 NaN。
阅读全文