📅  最后修改于: 2023-12-03 14:53:26.955000             🧑  作者: Mango
在Python Pandas中,字符串浮动指的是在DataFrame中对字符串列进行操作时,在保持列内字符串不变的情况下,对所有字符串添加/删除/修改某些字符或字符串。
Pandas中提供了多种处理字符串浮动的方法,主要包括以下几种:
功能:替换指定子字符串
# 替换一个子字符串
df['col'].str.replace('old', 'new')
# 替换多个子字符串
df['col'].str.replace('old1', 'new1').str.replace('old2', 'new2')
功能:连接字符串
# 连接两个列
df['new_col'] = df['col1'].str.cat(df['col2'], sep='-')
# 连接指定列的多个字符串
df['new_col'] = df[['col1', 'col2', 'col3']].apply(lambda x: '-'.join(x), axis=1)
功能:去除字符串两端指定字符
# 去除左右两端的空格
df['col'].str.strip()
# 去除左右两端的指定字符
df['col'].str.strip('str')
功能:按指定字符切分字符串
# 按空格切分字符串
df['col'].str.split()
# 按指定字符切分字符串
df['col'].str.split('-')
# 导入模块
import pandas as pd
# 创建测试数据
data = {'name': ['Tom', 'Jerry', 'Tony'], 'age': [20, 18, 22]}
df = pd.DataFrame(data)
# 添加一列
df['phone'] = pd.Series(['15612345678', '13987654321', '15888888888'])
# 用replace方法替换指定数字
df['phone'] = df['phone'].str.replace('8', '0')
# 用cat方法连接两列
df['name_age'] = df['name'].str.cat(df['age'].astype(str), sep='_')
# 用strip方法去除两端的数字
df['name'] = df['name_age'].str.strip('0123456789_')
# 用split方法根据_切分字符串
df['age'] = df['name_age'].str.split('_').str[1].astype(int)
# 输出结果
print(df)
输出结果:
| | name | age | phone | name_age | |---:|:-------|:------|:-------------|:-----------| | 0 | Tom | 20 | 15612345670 | Tom_20 | | 1 | Jerry | 18 | 13907054321 | Jerry_18 | | 2 | Tony | 22 | 15000000000 | Tony_22 |