pandas 文本数据处理
文本数据处理
获取字符串长度:
需要用到函数:str.len()
- 例:
# 求字符串长度
# 引用 pandas
import pandas as pd
# 定义数据
data = {"姓名":["张三","李四","王五","赵六"],"描述":["喜欢编程,很有激情","擅长绘画,极具天赋啊","热爱运动,充满活力","喜欢读书,知识渊博"]
}
df = pd.DataFrame(data)# 显示长度
df['长度'] = df['描述'].str.len()
print(df)
结果:
姓名 描述 长度
0 张三 喜欢编程,很有激情 9
1 李四 擅长绘画,极具天赋啊 10
2 王五 热爱运动,充满活力 9
3 赵六 喜欢读书,知识渊博 9
字符串分割与提取
-
需要使用 内置函数
split()
参数就是要以什么字符分割-
使用方法:
要操作的数据.str.split(字符)
-
-
例:
import pandas as pd
data = {"地址":["上海市浦东区xxx街道10号","北京市朝阳区xxx街道32号","沈阳是铁西区xxx街道40号"]
}df = pd.DataFrame(data)# 以区为分割
df1 = df['地址'].str.split('区')
print(df1)
# 提取出每个城市的区名
df2 = df['地址'].str.split('区').str[0].str[-2:]
print(df2)
结果:
0 [上海市浦东, xxx街道10号]
1 [北京市朝阳, xxx街道32号]
2 [沈阳是铁西, xxx街道40号]
Name: 地址, dtype: object
0 浦东
1 朝阳
2 铁西
Name: 地址, dtype: object
文本替换操作
- 使用内置函数
replace()
str.replace()参数1:被替换的字符参数2:要替换成什么
-
例:
# 文本替换 # 引用 pandas import pandas as pd # 定义数据 data = {'地址':['长春市宽城区新园街道学建大陆1111号'] } # 创建 DataFrame df = pd.DataFrame(data)# 文本替换 df = df['地址'].str.replace('学建大陆1111号','xxxxxxxxx') print(df)
结果:
0 长春市宽城区新园街道xxxxxxxxx Name: 地址, dtype: object
-
案例:
import pandas as pddata = {"电话":["13345677788",'13255667788','13999008899'] }df = pd.DataFrame(data)# 显示电话前3位数 并显示到数据表中 df['运营商'] = df['电话'].str[:3] print(df)
结果:
电话 运营商 0 13345677788 133 1 13255667788 132 2 13999008899 139