iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >pandas中对文本类型数据的处理的方法有哪些
  • 905
分享到

pandas中对文本类型数据的处理的方法有哪些

2023-06-25 12:06:43 905人浏览 独家记忆
摘要

本篇内容介绍了“pandas中对文本类型数据的处理的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.英文字母大小写转换及填充s&

本篇内容介绍了“pandas中对文本类型数据的处理的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.英文字母大小写转换及填充

s = pd.Series(['lower', 'CapiTALS', 'this is a sentence', 'SwApCaSe'])
  • 大写转小写: s.str.lower()

  • 小写转大写:s.str.upper()

  • 转为新闻标题形式:s.str.title()

  • 首字母大写,其余小写:s.str.capitalize()

  • 将原来的大写和小写,分别转为小写和大写,即大小写互换:s.str.swapcase()

  • 将文字内容用某种字符填充到固定长度,会从两边进行填充:s.str.center(4,'*')

  • 将文字内容用某种字符填充到固定长度,可以设置填充方向(默认为left,可以设置为left,right,both):s.str.pad(width=10, side=‘right', fillchar='-')

  • 将文字内容用某种字符填充到固定长度,会从文字的右方进行填充,即原来的字符串在左边:s.str.ljust(4,'-')

  • 将文字内容用某种字符填充到固定长度,会从文字的左方进行填充,即原来的字符串在右边:s.str.rjust(4,'-')

  • 将文字内容用某种字符按照指定的方向(left,right,both)填充到固定长度: s.str.pad(3,side=‘left',fillchar='*')

  • 在字符串前添加0到指定长度:

  • s = pd.Series(['-1', ‘1', ‘1000', 10, np.nan])

  • s.str.zfill(3)

2.字符串合并与拆分

2.1 多列字符串合并

注意:多列字符串在合并时,推荐使用cat函数,该函数是按照索引进行合并的。

s=pd.DataFrame({'col1':['a', 'b', np.nan, 'd'],'col2':['A', 'B', 'C', 'D']})# 1.有一个缺失值的行不进行合并s['col1'].str.cat([s['col2']])# 2.用固定字符(*)替换缺失值,并进行合并s['col1'].str.cat([s['col2']],na_rep='*')# 3.用固定字符(*)替换缺失值,并用分隔符(,)进行合并s['col1'].str.cat([s['col2']],na_rep='*',sep=',')# 4.索引不一致的合并#创建seriess = pd.Series(['a', 'b', np.nan, 'd'])t = pd.Series(['d', 'a', 'e', 'c'], index=[3, 0, 4, 2])#合并s.str.cat(t, join='left', na_rep='-')s.str.cat(t, join='right', na_rep='-')s.str.cat(t, join='outer', na_rep='-')s.str.cat(t, join='inner', na_rep='-')

2.2 一列 列表形式的文本合并为一列

s = pd.Series([['lion', 'elephant', 'zebra'], [1.1, 2.2, 3.3], [              'cat', np.nan, 'dog'], ['cow', 4.5, 'Goat'], ['duck', ['swan', 'fish'], 'guppy']])#以下划线进行拼接s.str.join('_')

使用前:

pandas中对文本类型数据的处理的方法有哪些

使用后:

pandas中对文本类型数据的处理的方法有哪些

2.3 一列字符串与自身合并成为一列

s = pd.Series(['a', 'b', 'c'])#指定数字s.str.repeat(repeats=2)#指定列表s.str.repeat(repeats=[1, 2, 3])

使用该函数后,效果图分别如下:

pandas中对文本类型数据的处理的方法有哪些
pandas中对文本类型数据的处理的方法有哪些

2.4 一列字符串拆分为多列

2.4.1 partition函数

partition函数,会将某列字符串拆分为3列,其中2列为值,1列为分隔符。
有两个参数进行设置,分别为:sep(分隔符,默认为空格),expand(是否生成dataframe,默认为True)

s = pd.Series(['Linda van der Berg', 'George Pitt-Rivers'])#默认写法,以空格分割,会以第一个分隔符进行拆分s.str.partition()#另一写法,会以最后一个分隔符进行拆分s.str.rpartition()#以固定符号作为分隔符s.str.partition('-', expand=False)#拆分索引idx = pd.Index(['X 123', 'Y 999'])idx.str.partition()
2.4.2 split函数

split函数会按照分隔符拆分为多个值。
参数:
pat(分隔符,默认为空格);
n(限制分隔的输出,即查找几个分隔符,默认-1,表示全部);
expend(是否生成dataframe,默认为False)。

s = pd.Series(["this is a regular sentence","https://docs.python.org/3/tutorial/index.html",np.nan])#1.默认按照空格进行拆分s.str.split()#2.按照空格进行拆分,并限制2个分隔符的输出s.str.split(n=2)#3.以指定符号拆分,并生成新的dataframes.str.split(pat = "/",expend=True)#4.使用正则表达式来进行拆分,并生成新的dataframes = pd.Series(["1+1=2"])s.str.split(r"\+|=", expand=True)
2.4.3 rsplit函数

如果不设置n的值,rsplit和split效果是相同的。区别是,split是从开始进行限制,rsplit是从末尾进行限制。

s = pd.Series(["this is a regular sentence","Https://docs.Python.org/3/tutorial/index.html",np.nan])#区别于splits.str.rsplit(n=2)

3.字符串统计

 3.1 统计某列字符串中包含某个字符串的个数

s = pd.Series(['dog', '', 5,{'foo' : 'bar'},[2, 3, 5, 7],('one', 'two', 'three')])s.str.len()

3.2 统计字符串长度

s = pd.Series(['dog', '', 5,{'foo' : 'bar'},[2, 3, 5, 7],('one', 'two', 'three')])s.str.len()

效果图如下:

pandas中对文本类型数据的处理的方法有哪些

4.字符串内容查找(包含正则)

 4.1 extract

可通过正则表达式来提取指定内容,小括号内的会生成一列

s = pd.Series(['a1', 'b2', 'c3'])#按照小括号内的进行提取,生成两列s.str.extract(r'([ab])(\d)')#加上问号后,如果有一个匹配不上,还可以继续匹配s.str.extract(r'([ab])?(\d)')#可以对生成的新列进行重命名s.str.extract(r'(?P<letter>[ab])(?P<digit>\d)')#生成1列s.str.extract(r'[ab](\d)', expand=True)

4.2 extractall

区别于extract,该函数可以提取所有符合条件的元素

s = pd.Series(["a1a2", "b1", "c1"], index=["A", "B", "C"])#提取所有符合条件的数字,结果为多重索引1列s.str.extractall(r"[ab](\d)")#提取符合条件的数字,并重命名,结果为多重索引1列s.str.extractall(r"[ab](?P<digit>\d)")#提取符合条件的a、b和数字,结果为多重索引多列s.str.extractall(r"(?P<letter>[ab])(?P<digit>\d)")#提取符合条件的a、b和数字,添加问号后,一个匹配不上可以继续向后匹配,结果为多重索引多列s.str.extractall(r"(?P<letter>[ab])?(?P<digit>\d)")

4.3 find

查询固定字符串在目标字符串中的最小索引。
若需要查询的字符串未出现在目标字符串中,则显示为-1

s = pd.Series(['appoint', 'price', 'sleep','amount'])s.str.find('p')

显示结果如下:

pandas中对文本类型数据的处理的方法有哪些

4.4 rfind

查询固定字符串在目标字符串中的最大索引。
若需要查询的字符串未出现在目标字符串中,则显示为-1。

s = pd.Series(['appoint', 'price', 'sleep','amount'])s.str.rfind('p',start=1)

查询结果如下:

pandas中对文本类型数据的处理的方法有哪些

4.5 findall

查找系列/索引中所有出现的模式或正则表达式

s = pd.Series(['appoint', 'price', 'sleep','amount'])s.str.findall(r'[ac]')

显示结果如下:

pandas中对文本类型数据的处理的方法有哪些

4.6 get

从列表、元组或字符串中的每个元素中提取元素的系列/索引。

s = pd.Series(["String",               (1, 2, 3),               ["a", "b", "c"],               123,               -456,               {1: "Hello", "2": "World"}])s.str.get(1)

效果如下图:

pandas中对文本类型数据的处理的方法有哪些

4.7 match

确定每个字符串是否与参数中的正则表达式匹配。

s = pd.Series(['appoint', 'price', 'sleep','amount'])s.str.match('^[ap].*t')

匹配效果图如下:

pandas中对文本类型数据的处理的方法有哪些

5.字符串逻辑判断

5.1 contains函数

测试模式或正则表达式是否包含在系列或索引的字符串中。
参数:
pat,字符串或正则表达式;
case,是否区分大小写,默认为True,即区分大小写;
flags,是否传递到re模块,默认为0;
na,对缺失值的处理方法,默认为nan;
regex,是否将pat参数当作正则表达式来处理,默认为True。

s = pd.Series(['APpoint', 'Price', 'cap','approve',123])s.str.contains('ap',case=True,na=False,regex=False)

效果图如下:

pandas中对文本类型数据的处理的方法有哪些

5.2 endswith函数

测试每个字符串元素的结尾是否与字符串匹配。

s = pd.Series(['APpoint', 'Price', 'cap','approve',123])s.str.endswith('e')

匹配结果如下:

pandas中对文本类型数据的处理的方法有哪些

处理nan值

s = pd.Series(['APpoint', 'Price', 'cap','approve',123])s.str.endswith('e',na=False)

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.3 startswith函数

测试每个字符串元素的开头是否与字符串匹配。

s = pd.Series(['APpoint', 'Price', 'cap','approve',123])s.str.startswith('a',na=False)

匹配如下:

pandas中对文本类型数据的处理的方法有哪些

5.4 isalnum函数

检查每个字符串中的所有字符是否都是字母数字。

s1 = pd.Series(['one', 'one1', '1', ''])s1.str.isalnum()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.5 isalpha函数

检查每个字符串中的所有字符是否都是字母。

s1 = pd.Series(['one', 'one1', '1', ''])s1.str.isalpha()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.6 isdecimal函数

检查每个字符串中的所有字符是否都是十进制的。

s1 = pd.Series(['one', 'one1', '1',''])s1.str.isdecimal()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.7 isdigit函数

检查每个字符串中的所有字符是否都是数字。

s1 = pd.Series(['one', 'one1', '1',''])s1.str.isdigit()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.8 islower函数

检查每个字符串中的所有字符是否都是小写。

s1 = pd.Series(['one', 'one1', '1',''])s1.str.islower()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.9 isnumeric函数

检查每个字符串中的所有字符是否都是数字。

s1 = pd.Series(['one', 'one1', '1','','3.6'])s1.str.isnumeric()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.10 isspace函数

检查每个字符串中的所有字符是否都是空格。

s1 = pd.Series([' one', '\t\r\n','1', '',' '])s1.str.isspace()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.11 istitle函数

检查每个字符串中的所有字符是否都是标题形式的大小写。

s1 = pd.Series(['leopard', 'Golden Eagle', 'SNAKE', ''])s1.str.istitle()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.12 isupper函数

检查每个字符串中的所有字符是否都是大写。

s1 = pd.Series(['leopard', 'Golden Eagle', 'SNAKE', ''])s1.str.isupper()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

5.13 get_dummies函数

按 sep 拆分系列中的每个字符串并返回一个 虚拟/指标变量的dataframe。

s1 = pd.Series(['leopard', 'Golden Eagle', 'SNAKE', ''])s1.str.get_dummies()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

该函数还可以进行此类匹配,注意输入的形式

s1=pd.Series(['a|b', np.nan, 'a|c'])s1.str.get_dummies()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

6.其他

6.1 strip

删除前导和尾随字符。

s1 = pd.Series(['1. Ant.  ', '2. Bee!\n', '3. Cat?\t', np.nan])s1.str.strip()

效果如下:

pandas中对文本类型数据的处理的方法有哪些

6.2 lstrip

删除系列/索引中的前导字符。

6.3 rstrip

删除系列/索引中的尾随字符。

“pandas中对文本类型数据的处理的方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: pandas中对文本类型数据的处理的方法有哪些

本文链接: https://www.lsjlt.com/news/304546.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pandas中对文本类型数据的处理的方法有哪些
    本篇内容介绍了“pandas中对文本类型数据的处理的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.英文字母大小写转换及填充s&...
    99+
    2023-06-25
  • pandas中对文本类型数据的处理小结
    目录1.英文字母大小写转换及填充2.字符串合并与拆分2.1 多列字符串合并2.2 一列 列表形式的文本合并为一列2.3 一列字符串与自身合并成为一列2.4 一列字符串拆分为多列2.4...
    99+
    2024-04-02
  • python Pandas时序数据处理的方法有哪些
    这篇文章主要介绍“python Pandas时序数据处理的方法有哪些”,在日常操作中,相信很多人在python Pandas时序数据处理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-02
  • JS数据类型的方法有哪些
    本篇内容介绍了“JS数据类型的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在 ECMAScript 规范中,共定义了 7 种数据...
    99+
    2023-06-27
  • java中的基本数据类型有哪些
    这篇文章主要介绍java中的基本数据类型有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!基本数据类型1.整数类型:byte、short、int、long注意:1.java各整数类...
    99+
    2024-04-02
  • c#中的基本数据类型有哪些
    c#中提供的基本数据类型包括:整型(byte、sbyte、short、ushort、int、uint、long、ulong),浮点型(float、double),其他类型(char、bo...
    99+
    2024-04-04
    c#
  • Redis中的基本数据类型有哪些
    这篇文章主要讲解了“Redis中的基本数据类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis中的基本数据类型有哪些”吧!Redis数据结构简...
    99+
    2024-04-02
  • JavaScript中的基本数据类型有哪些
    小编给大家分享一下JavaScript中的基本数据类型有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、区分大小写在JavaScript中,所有的一切(变量、函数和操作符)都区分大小...
    99+
    2024-04-02
  • python的文本处理方法有哪些
    今天小编给大家分享一下python的文本处理方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、字符串常量1.1、定...
    99+
    2023-06-04
  • JavaScript中数据类型的使用方法有哪些?
    JavaScript作为一门动态类型语言,它的数据类型使用方法非常灵活。在JavaScript中,数据类型主要分为基本数据类型和引用数据类型两大类。本文将会详细介绍JavaScript中各个数据类型的使用方法。 一、基本数据类型 Java...
    99+
    2023-11-02
    异步编程 javascript 数据类型
  • ecmascript的基本数据类型有哪些
    这篇文章主要为大家展示了“ecmascript的基本数据类型有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ecmascript的基本数据类型有哪些”这篇文...
    99+
    2024-04-02
  • Rust的基本数据类型有哪些
    这篇文章主要讲解了“Rust的基本数据类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Rust的基本数据类型有哪些”吧!Rust 和 Go 一样,都是静态类型语言,这表示每个变量的类...
    99+
    2023-06-15
  • SQL基本的数据类型有哪些
    SQL基本的数据类型有以下几种:1. 整数类型:包括INT、SMALLINT、TINYINT、BIGINT等。2. 浮点类型:包括F...
    99+
    2023-10-10
    SQL
  • Python中的基本数据类型有哪些呢
    今天就跟大家聊聊有关Python中的基本数据类型有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。基本数字类型首先我们开始认识一下基本的数字类型吧:整数类型浮点数类型复数类型整数...
    99+
    2023-06-03
  • Pandas数据类型中category的用法
    本篇内容主要讲解“Pandas数据类型中category的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas数据类型中category的用法”吧!创建category使用Series...
    99+
    2023-06-20
  • java中有哪些基本数据类型
    java的基本数据类型:1.字节型byte;2.短整型short;3.整型int;4.长整型long;5.单精度浮点型float;6.双精度浮点型double;7.布尔型boolean;8.字符型char;java中基本数据类型有:字节型b...
    99+
    2024-04-02
  • numpy转换数据类型的方法有哪些
    numpy转换数据类型的方法有:1、astype()方法,用于将数组转换为指定的数据类型,接受一个参数,即要转换为的数据类型;2、view()方法,创建一个新的数组对象,该对象与原始数组共享相同的数据;3、asarray()函数,可以将数组...
    99+
    2023-11-22
    numpy python
  • php数据类型转换的方法有哪些
    这篇文章主要介绍php数据类型转换的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据一共有三种转换类型,分别是强制转换,永久转换,以及转换函数转换。第一种、强制转换通过强制转换的数据,不影响数据原本的类型...
    99+
    2023-06-14
  • ASP 对象中的常用数据类型有哪些?
    ASP(Active Server Pages)是一种用于开发动态Web应用程序的技术。在ASP中,我们常常需要使用数据类型来存储和操作各种数据。在本文中,我们将介绍ASP对象中的常用数据类型,以及它们在ASP编程中的应用。 字符串(St...
    99+
    2023-07-29
    对象 数据类型 leetcode
  • Django中的对象数据类型:有哪些常见的?
    Django是一个流行的Web应用程序框架,它提供了一种简单而强大的方法来处理数据。在Django中,对象数据类型是非常重要的一部分,它们是构建Web应用程序的基本组成部分。本文将介绍Django中常见的对象数据类型及其用法。 CharF...
    99+
    2023-08-21
    django 对象 数据类型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作