pandas 字符串切片后保存_pandas:快速处理字符串方法
前言
当我们遇到一个超级大的DataFrame,里面有一列类型为字符串,要将每一行的字符串都用同一方式进行处理,一般会想到遍历整合DataFrame,但是如果直接这样做的话将会耗费很长时间,有时几个小时都处理不完。于是就有了本篇文章所要分享给大家的:pandas快速处理字符串方法。
提示:为方便快捷地解决问题,本文仅介绍主要功能。
一、向量化字符串操作简介
向量化操作简化了纯数值的数组操作语法,我们不需要再担心数组的长度或维度,只需要把中心放在操作上面。而对字符串的向量化需要工具包的支持,如Numpy就没办法直接对字符串进行向量化操作,只能通过繁琐的循环来实现。Pandas则可以很好的处理这类问题。
二、str方法的简介
Python会处理字符串起来会很容易,作为工具包的Pandas同样可以简单快速的处理字符串,几乎把Python内置的字符串方法都给复制过来了,这种方法就是Pandas内置的str方法,通俗来说就可以将series和index对象中包含字符串的部分简单看作单个字符串处理,达到批量简单快速处理的目的。
三、str方法介绍
1、类似Python处理字符串的方法
与Python内置的字符串处理方法类似,包含以下函数:len()lower()translate()islower()
ljust()upper()startswith()isupper()
rjust()find()endswith()isnumeric()
center()rfind()isalnum()isdecimal()
zfill()index()isalpha()split()
strip()rindex()isdigit()rsplit()
rstrip()capitalize()isspace()partition()
lstrip()swapcase()istitle()rpartition()
除此函数之外,也可以直接通过切片方法对字符串进行批量处理。下面是例子。
import pandas as pd
str_data = pd.DataFrame({'name':['Verne Raymond','Chapman Becher','Patrick George','Saxon MacArthur'],
'age':[18,22,21,16]})
Out[0]:
name age
0 Verne Raymond 18
1 Chapman Becher 22
2 Patrick George 21
3 Saxon MacArthur 16
len()函数使用:
str_data['name'].str.len()
Out[1]:
0 13
1 14
2 14
3 15
Name: name, dtype: int64
split()函数使用:
str_data['name'].str.split(' ')
str_data['name'].str.split(' ',expand=True)#将分开的字符串放在两列
Out[2]:
0 [Verne, Raymond]
1 [Chapman, Becher]
2 [Patrick, George]
3 [Saxon, MacArthur]
Name: name, dtype: object
Out[3]:
0 1
0 Verne Raymond
1 Chapman Becher
2 Patrick George
3 Saxon MacArthur
其他函数都是同样的方式,函数具体参数可以参考官方文档:pandas.Series.
直接对字符串进行切片:
str_data['name'].str[:5]
Out[4]:
0 Verne
1 Chapm
2 Patri
3 Saxon
Name: name, dtype: object
2、使用正则表达式方法方法描述
match()在每个元素上调用re.match(),返回布尔值
extract()在每个元素上调用re.match(),返回作为字符串的每个分组
findall()在每个元素上调用re.findall()
replace()将模式串的每次出现替换为一些其它字符串
contains()在每个元素上调用re.search(),返回布尔值
count()统计模式串的出现次数
split()等价于str.split(),但是接受正则表达式
rsplit()等价于str.rsplit(),但是接受正则表达式
下面是例子:
replace()函数使用
str_data['name'].str.replace(' ','-')
Out[5]:
0 Verne-Raymond
1 Chapman-Becher
2 Patrick-George
3 Saxon-MacArthur
Name: name, dtype: object
extract()函数使用
str_data['name'].str.extract('([A-Za-z]+)')
Out[6]:
0
0 Verne
1 Chapman
2 Patrick
3 Saxon
正则表达式方法这里不再赘述。
四、总结
这里介绍了Pandas在处理字符串上提供的一些快速处理方法,将重点部分进行阐述,如有错误请大家指正。后面还会讲解类似快速处理数据的方法如:map()、apply()、applymap()等。不知者:pandas: DataFrame 将时间按小时分钟等方式聚合zhuanlan.zhihu.com
更多内容敬请关注我的CSDN博客:
pandas 字符串切片后保存_pandas:快速处理字符串方法相关推荐
- pandas 字符串切片后保存_pandas的分列之不规则字符串及str.extract()
在上一篇文章中,我们总结了分列的一种方式:当所有行在需要的分列的地方都是相同的字母.符号.空格等等的时候,我们可以使用str.split()直接将所有行分成两列. 然而在实际工作中,有可能有并不是所有 ...
- pandas 字符串切片后保存_我擦~字符串转字节切片后,切片的容量竟然千奇百怪...
以下文章来源于新世界杂货铺 ,作者许文 新世界杂货铺 作为一名Gopher, 我愿称之为Go的干(杂)货铺子! 神奇的现象 切片, 切片, 又是切片! 今天遇到的神奇问题和切片有关, 具体怎么个神奇法 ...
- 字符串加密后md5为 0exxxx 的字符串
字符串加密后md5为 0exxxx 的字符串 (x 必须是 10 进制数字) 列表 字符串 MD5 QNKCDZO 0e830400451993494058024219903391 240610708 ...
- pandas自动创建文件夹_pandas快速入门
pandas有两类数据对象:dataframe和series.Series是一个带标签的一维数组,通常索引在左,值在右.dataframe是一个带标签的二维数组,可以理解成series的字典,共用索引 ...
- python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解
Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...
- c语言 字符串切片重组成完整,完美分割字符串,实现字符串的splict功能
class Str:Client_C { string val; string[] str = new string[100]; public void StrT1() { //1.正常情况 //2. ...
- php要字符串的后四位,php如何截取字符串后四位
摘要 腾兴网为您分享:php如何截取字符串后四位,找乐助手,盈益云,我爱我家,手电筒等软件知识,以及51编辑,v380监控,edge浏览器,excel软件,地铁跑酷iphone版,燕大校园网,德军总部 ...
- java 判断字符串重排后是否等于另一个字符串,包括空格符
大家好,很高兴能和你认识,这是本人第一篇博文,本着提升自我而开始的博客之旅 下面只要写的是java字符串重排后是否相等的. public static void main(String [] args ...
- python pandas写入数据后保存_python读取MySQL数据使用pandas写入到csv,并保存列名
实现的功能:通过pymysql连接MySQL数据库,查询所需数据,然后使用pandas写入到csv文件,并且写入包含数据列名. import sys import pandas as pd impor ...
最新文章
- 清华系“AI帮”崛起,要驱动1500亿元产业规模
- 排查链接是否失效_Linux服务器入侵检测排查方法
- WEB文件上传之JQuery ajaxfileupload插件使用(二)
- Java Jvm虚拟机的内存模型概述 《对Java的分析总结》(一)
- [转帖]升级 Ubuntu,解决登录时提示有软件包可以更新的问题
- regression+classification
- php 过滤入库不可见字符,php如何过滤不可见字符
- 网站设计中很重要的概念div+浮动
- 用homebrew 升级安装python3.7 之后系统的python版本还是旧的怎么办
- vs安装msdn安装文档
- 关于Kav7的离线升级
- ASCⅡ码与字符的相互转化
- 计算机管理里找不到固态硬盘,教大家电脑插上固态硬盘提示找不到设备怎么办...
- Python爬虫实现爬取糗事百科段子 (26行代码简单实现)
- 百度BAE上能装什么pHp框架,百度Bae云平台安装dedecms图文教程
- 004_simulink建立子系统
- 乐高教育版45544零件---分类识别
- 【u盘提示:驱动器未格式化】如何解决?
- Web 开发最有用的50款 jQuery 插件集锦——《图片特效篇》
- Word和WPS中引入Mathtype的常见问题