在Pandas DataFrame中进行字符串操作是一个经常用到的操作,下面是进行这个操作的完整攻略。
1. 引入相关库和数据
首先我们需要引入所需要的库和数据,如下所示:
import pandas as pd
data = {'name': ['张三', '李四', '王五'],
'age': [20, 22, 25],
'email': ['zhangsan@qq.com', 'lisi@qq.com', 'wangwu@qq.com']}
df = pd.DataFrame(data)
2. 查看DataFrame数据
我们需要查看一下数据结构,确认数据结构中的每一列的数据类型,如下所示:
print(df.dtypes)
# 输出结果:
# name object
# age int64
# email object
# dtype: object
print(df)
# 输出结果:
# name age email
# 0 张三 20 zhangsan@qq.com
# 1 李四 22 lisi@qq.com
# 2 王五 25 wangwu@qq.com
3. 常用的字符串操作函数
Pandas中提供了很多对字符串的操作,包括切割、替换、合并等操作。下面列出一些常用的字符串操作函数:
3.1 切割字符串
使用 str.split()
函数可以对字符串进行切割,切割结果为一个列表。
df['first_name'] = df['name'].str.split().str.get(0)
df['last_name'] = df['name'].str.split().str.get(1)
print(df)
# 输出结果:
# name age email first_name last_name
# 0 张三 20 zhangsan@qq.com 张三 None
# 1 李四 22 lisi@qq.com 李四 None
# 2 王五 25 wangwu@qq.com 王五 None
3.2 替换字符串
使用 str.replace()
函数可以进行字符串的替换。
df['email'] = df['email'].str.replace('@', '_')
print(df)
# 输出结果:
# name age email first_name last_name
# 0 张三 20 zhangsan_qq.com 张三 None
# 1 李四 22 lisi_qq.com 李四 None
# 2 王五 25 wangwu_qq.com 王五 None
3.3 判断字符串是否存在
使用 str.contains()
函数可以判断每个字符串是否存在某个子字符串。
df['has_王'] = df['name'].str.contains('王')
print(df)
# 输出结果:
# name age email first_name last_name has_王
# 0 张三 20 zhangsan_qq.com 张三 None False
# 1 李四 22 lisi_qq.com 李四 None False
# 2 王五 25 wangwu_qq.com 王五 None True
3.4 合并字符串
使用 str.cat()
函数可以将多个字符串合并成一个字符串。
df['full_name'] = df['first_name'].str.cat(df['last_name'], sep=' ')
print(df)
# 输出结果:
# name age email first_name last_name has_王 full_name
# 0 张三 20 zhangsan_qq.com 张三 None False 张三
# 1 李四 22 lisi_qq.com 李四 None False 李四
# 2 王五 25 wangwu_qq.com 王五 None True 王五
4. 小结
在本文中,我们介绍了在Pandas DataFrame中进行字符串操作的完整攻略,并提供了一些实例说明。这些字符串操作函数包括切割、替换、合并等等,它们可以帮助我们更加方便地处理数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Pandas DataFrame中进行字符串操作 - Python技术站