100天精通Python(数据分析篇)——第72天:Pandas文本数据处理方法之判断类型、去除空白字符、拆分和连接
创始人
2024-05-14 12:54:51
0

文章目录

  • 每篇前言
  • 一、Python字符串内置方法
  • 1. 判断类型
  • 2. 去除空白字符
  • 3. 拆分和连接
  • 二、Pandas判断类型
    • 1. str.isspace()
    • 2. str.isalnum()
    • 3. str.isalpha()
    • 4. str.isdecimal()
    • 5. str.isdigit()
    • 6. str.isnumeric()
    • 7. str.istitle()
    • 8. str.islower()
    • 9. str.isupper()
  • 三、Pandas去除空白字符
    • 1. str.lstrip()
    • 2. str.rstrip()
    • 3. str.strip()
  • 四. 拆分和连接
    • 1. str.partition(str)
    • 2. str.rpartition(str)
    • 3. str.split()
      • 1)指定字符串分割
      • 2)分割后转换成多列
      • 3)设置分割次数
    • 4. str.splitlines()
    • 5. str.join(seq)
  • 书籍介绍

每篇前言

  • 🏆🏆作者介绍:Python领域优质创作者、华为云享专家、阿里云专家博主、2021年CSDN博客新星Top6

  • 🔥🔥本文已收录于Python全栈系列专栏:《100天精通Python从入门到就业》
  • 📝​📝​此专栏文章是专门针对Python零基础小白所准备的一套完整教学,从0到100的不断进阶深入的学习,各知识点环环相扣
  • 🎉🎉订阅专栏后续可以阅读Python从入门到就业100篇文章还可私聊进千人Python全栈交流群(手把手教学,问题解答); 进群可领取80GPython全栈教程视频 + 300本计算机书籍:基础、Web、爬虫、数据分析、可视化、机器学习、深度学习、人工智能、算法、面试题等。
  • 🚀🚀加入我一起学习进步,一个人可以走的很快,一群人才能走的更远!

在这里插入图片描述
在这里插入图片描述

本文是上篇的补充,基础不会的小伙伴请看上文:100天精通Python(数据分析篇)——第71天:Pandas文本数据处理方法之str/object类型转换、大小写转换、文本对齐、获取长度、出现次数、编码

一、Python字符串内置方法

1. 判断类型

方法说明
string.isspace()如果 string 中只包含空格,则返回 True
string.isalnum()如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True
string.isalpha()如果 string 至少有一个字符并且所有字符都是字母则返回 True
string.isdecimal()如果 string 只包含数字则返回 True,全角数字
string.isdigit()如果 string 只包含数字则返回 True,全角数字\u00b2
string.isnumeric()如果 string 只包含数字则返回 True,全角数字汉字数字
string.istitle()如果 string 是标题化的(每个单词的首字母大写)则返回 True
string.islower()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
string.isupper()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True

2. 去除空白字符

方法说明
string.lstrip()截掉 string 左边(开始)的空白字符
string.rstrip()截掉 string 右边(末尾)的空白字符
string.strip()截掉 string 左右两边的空白字符

3. 拆分和连接

方法说明
string.partition(str)把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
string.rpartition(str)类似于 partition() 方法,不过是从右边开始查找
string.split(str=“”, num)以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格
string.splitlines()按照行(‘\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表
string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

二、Pandas判断类型

方法说明
series_obj.str.isspace()如果 string 中只包含空格,则返回 True
series_obj.str.isalnum()如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True
series_obj.str.isalpha()如果 string 至少有一个字符并且所有字符都是字母则返回 True
series_obj.str.isdecimal()如果 string 只包含数字则返回 True,全角数字
series_obj.str.isdigit()如果 string 只包含数字则返回 True,全角数字\u00b2
series_obj.str.isnumeric()如果 string 只包含数字则返回 True,全角数字汉字数字
series_obj.str.istitle()如果 string 是标题化的(每个单词的首字母大写)则返回 True
series_obj.str.islower()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
series_obj.str.isupper()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True

1. str.isspace()

如果 string 中只包含空格,则返回 True

import pandas as pd
import numpy as npdata = [1, '篮球', '羽毛球 ', ' 排球', ' ', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isspace())

运行结果:
在这里插入图片描述

2. str.isalnum()

如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True

import pandas as pd
import numpy as npdata = [1, '篮球', '羽毛球 ', ' 排球', ' ', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isalnum())

运行结果:
在这里插入图片描述

3. str.isalpha()

如果 string 至少有一个字符并且所有字符都是字母则返回 True

import pandas as pd
import numpy as npdata = [1, 'A', 'Ab', 'AbC', ' ', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isalpha())

运行结果:
在这里插入图片描述

4. str.isdecimal()

如果 string 只包含数字则返回 True,全角数字

import pandas as pd
import numpy as npdata = [1, '123', 'Ab', 'AbC', ' ', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isdecimal())

运行结果:
在这里插入图片描述

5. str.isdigit()

如果 string 只包含数字则返回 True,全角数字、⑴、\u00b2

import pandas as pd
import numpy as npdata = [1, '123', 'Ab', 'AbC', ' ', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isdigit())

运行结果:

在这里插入图片描述

6. str.isnumeric()

如果 string 只包含数字则返回 True,全角数字,汉字数字

import pandas as pd
import numpy as npdata = [1, '123', 'Ab', 'AbC', ' ', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isnumeric())

在这里插入图片描述

7. str.istitle()

如果 string 是标题化的(每个单词的首字母大写)则返回 True

import pandas as pd
import numpy as npdata = [1, 'A', 'Ab', 'ABC ab', 'Abc Ab', None, np.NaN]
df = pd.Series(data)
print(df)
print(df.str.istitle())

运行结果:
在这里插入图片描述

8. str.islower()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True。简单来说:全是小写才是True

import pandas as pd
import numpy as npdata = [1, 'A', 'Ab', 'ABC ab', 'Abc Ab', 'ab', np.NaN]
df = pd.Series(data)
print(df)
print(df.str.islower())

运行结果:
在这里插入图片描述

9. str.isupper()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True。简单来说:全是大写才是True

import pandas as pd
import numpy as npdata = [1, 'A', 'Ab', 'ABC ab', 'Abc Ab', 'ab', np.NaN]
df = pd.Series(data)
print(df)
print(df.str.isupper())

运行结果:
在这里插入图片描述

三、Pandas去除空白字符

方法说明
series_obj.str.lstrip()截掉 string 左边(开始)的空白字符
series_obj.str.rstrip()截掉 string 右边(末尾)的空白字符
series_obj.str.strip()截掉 string 左右两边的空白字符

1. str.lstrip()

截掉 string 左边(开始)的空白字符

import pandas as pd
import numpy as npdata = [1, 'A ', ' Ab', ' ABC ab', ' Abc Ab', ' ', np.NaN]
df = pd.Series(data)
print("去除左边空格前:")
print(df[2])
print(df[3])
print(df[4])
df = df.str.lstrip()  # 去除空格
print("去除左边空格后:")
print(df[2])
print(df[3])
print(df[4])

运行结果:
在这里插入图片描述

2. str.rstrip()

截掉 string 右边(末尾)的空白字符

import pandas as pd
import numpy as npdata = [1, 'A ', 'Ab ', 'ABC ab ', 'Abc Ab ', ' ', np.NaN]
df = pd.Series(data)
print("去除左边空格前:")
print(df[2])
print(df[3])
print(df[4])
df = df.str.rstrip()  # 去除空格
print("去除左边空格后:")
print(df[2])
print(df[3])
print(df[4])

运行结果:

在这里插入图片描述

3. str.strip()

截掉 string 左右两边的空白字符

import pandas as pd
import numpy as npdata = [1, ' A ', ' Ab ', ' ABC ab ', ' Abc Ab ', ' ', np.NaN]
df = pd.Series(data)
print("去除左边空格前:")
print(df[2])
print(df[3])
print(df[4])
df = df.str.strip()  # 去除空格
print("去除左边空格后:")
print(df[2])
print(df[3])
print(df[4])

运行结果:
在这里插入图片描述

四. 拆分和连接

方法说明
series_obj.str.partition(str)把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
series_obj.str.rpartition(str)类似于 partition() 方法,不过是从右边开始查找
series_obj.str.split(str=‘’, num)以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格
series_obj.str.splitlines()按照行(‘\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表
series_obj.str.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

1. str.partition(str)

把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)

import pandas as pd
import numpy as npdata = [1, 'a', 'Ab', 'ABC ab', 'Abc Ab', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.partition()
print(df)

在这里插入图片描述

2. str.rpartition(str)

类似于 partition() 方法,不过是从右边开始查找

import pandas as pd
import numpy as npdata = [1, 'a', 'Ab', 'ABC ab', 'Abc Ab', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.rpartition()
print(df)

在这里插入图片描述

3. str.split()

以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’,
‘\t’, ‘\n’ 和空格。简单来说:就是以指定字符串分割

1)指定字符串分割

import pandas as pd
import numpy as npdata = [1, 'a;b', 'Ab;', 'ABC;ab;abc', 'Abc;Ab;eee', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.split(";")
print(df)

运行结果:

在这里插入图片描述

2)分割后转换成多列

设置: expand=True

import pandas as pd
import numpy as npdata = [1, 'a;b', 'Ab;', 'ABC;ab;abc', 'Abc;Ab;eee', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.split(";", expand=True)
print(df)

运行结果:
在这里插入图片描述

3)设置分割次数

设置:n=1

import pandas as pd
import numpy as npdata = [1, 'a;b', 'Ab;', 'ABC;ab;abc', 'Abc;Ab;eee', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.split(";", expand=True, n=1)
print(df)

运行结果:
在这里插入图片描述

4. str.splitlines()

按照行(‘\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表。注意:这个方法Pandas无法使用

import pandas as pd
import numpy as npdata = [1, 'a\rb', 'Ab\n', 'ABC\r\nab\nabc', 'Abc;Ab;eee', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.splitlines()
print(df)

运行结果:
在这里插入图片描述

5. str.join(seq)

以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。简单来说:就是往元素之间插入一个指定元素,形成新的字符串

import pandas as pd
import numpy as npdata = [1, 'ab', 'Ab', 'ABC ab abc', 'Abc Ab eee', ' ', np.NaN]
df = pd.Series(data)
print(df)
df = df.str.join('-')
print(df)

运行结果:
在这里插入图片描述

书籍介绍

《贝叶斯算法与机器学习》

在这里插入图片描述

涵盖了贝叶斯概率、概率估计、贝叶斯分类、随机场、参数估计、机器学习、深度学习、贝叶斯网络、动态贝叶斯网络、贝叶斯深度学习等。本书涉及的应用领域包含机器学习、图像处理、语音识别、语义分析等。本书整体由易到难,逐步深入,内容以算法原理讲解和应用解析为主,每节内容辅以案例进行综合讲解。
如果不想抽奖当当自营购买链接:http://product.dangdang.com/29478966.html

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...