📅  最后修改于: 2023-12-03 14:45:02.358000             🧑  作者: Mango
Pandas 是一个强大的 Python 库,支持大量的数据操作和分析。其中一个特性是 DataFrame,它是一个用于处理表格数据的数据结构。在 DataFrame 中,我们经常需要对字符串进行操作。Pandas 提供了很多字符串操作方法,让我们快速高效地对字符串进行操作。
Pandas 中有很多字符串函数,它们可以对字符串进行各种各样的操作,例如拆分、替换、提取、比较等等。下面是一些常用的字符串函数:
用于将字符串按照指定的分隔符拆分成一个列表。
import pandas as pd
df = pd.DataFrame({
'name': ['Tom', 'Jerry', 'Alice'],
'age': [18, 21, 22],
'address': ['Beijing', 'Shanghai', 'Guangzhou']
})
df['city'] = df['address'].str.split(' ').str[0]
print(df)
输出:
name age address city
0 Tom 18 Beijing Beijing
1 Jerry 21 Shanghai Shanghai
2 Alice 22 Guangzhou Guangzhou
用于将字符串中的指定子串替换为另一个字符串。
df['address'] = df['address'].str.replace(' ', '-')
print(df)
输出:
name age address city
0 Tom 18 Beijing Beijing
1 Jerry 21 Shanghai Shanghai
2 Alice 22 Guangzhou Guangzhou
用于从字符串中提取匹配指定正则表达式的子串。
df['province'] = df['address'].str.extract('(\w+)\s', expand=False)
print(df)
输出:
name age address city province
0 Tom 18 Beijing Beijing Beijing
1 Jerry 21 Shanghai Shanghai Shanghai
2 Alice 22 Guangzhou Guangzhou Guangzhou
用于判断字符串中是否包含指定子串。
df['is_beijing'] = df['address'].str.contains('Beijing')
print(df)
输出:
name age address city province is_beijing
0 Tom 18 Beijing Beijing Beijing True
1 Jerry 21 Shanghai Shanghai Shanghai False
2 Alice 22 Guangzhou Guangzhou Guangzhou False
对于以上这些字符串函数,它们返回的都是一个 Series 对象,可以直接赋值给 DataFrame 中的一个列,或作为 DataFrame 的一列。
除了字符串函数,Pandas 中还有一些字符串属性,它们可以用来获取字符串的一些属性,例如长度、大小写等等。下面是一些常用的字符串属性:
用于获取字符串的长度。
df['address_len'] = df['address'].str.len()
print(df)
输出:
name age address city province is_beijing address_len
0 Tom 18 Beijing Beijing Beijing True 9
1 Jerry 21 Shanghai Shanghai Shanghai False 10
2 Alice 22 Guangzhou Guangzhou Guangzhou False 9
分别用于将字符串转换为大写和小写。
df['address_upper'] = df['address'].str.upper()
df['address_lower'] = df['address'].str.lower()
print(df)
输出:
name age address city province is_beijing address_len \
0 Tom 18 Beijing Beijing Beijing True 9
1 Jerry 21 Shanghai Shanghai Shanghai False 10
2 Alice 22 Guangzhou Guangzhou Guangzhou False 9
address_upper address_lower
0 BEIJING beijing
1 SHANGHAI shanghai
2 GUANGZHOU guangzhou
除了这些常用的字符串函数和属性,Pandas 中还有很多其他的字符串函数和属性,可以根据不同的需求进行选择使用。