Python文本数据处理速查表

对于需要清洗、处理和分析文本数据的Python用户来说,本文是您处理文本数据的终极资源。该速查表提供了Python常用的处理文本数据的函数和库,以及详细的示例和解释。

您可以在速查表中找到的一些示例,包括:

  • 获取字符串长度和子字符串

  • 将文本转换为小写或大写的方法

  • 拆分或连接文本的技术

无论您是初学者还是经验丰富的Python程序员,我们都希望在处理文本数据时,该速查表能帮助到您。

实验数据

suitsrock_paper_scissors 是本文的两个 pd.Series 类型数据,存储着相应的文本信息。

import pandas as pd

suits = pd.Series(["clubs", "Diamonds", "hearts rate", "Spades"])
rock_paper_scissors = pd.Series(["rock ", " paper", "scissors"])

print(suits)
print('=============')
print(rock_paper_scissors)

Run

0       clubs
1    Diamonds
2 hearts rate
3      Spades
dtype: object

=============

0       rock 
1       paper
2    scissors
dtype: object

长度、切片

# 使用 .str.len() 获取 suits 中每个字符串的长度 
suits.str.len() # Returns 5 8 11 6

# 切片; 使用 .str[] 提取每个字符串索引值为 2、3、4 位置的字符
suits.str[2:5] # Returns "ubs" "amo" "art" "ade"

# 切片
suits.str[:-3] # "cl" "Diamo" "hearts r" "Spa

# 使用 .str.strip() 剔除rock_paper_scissors字符串中的空格
rock_paper_scissors.str.strip() # "rock" "paper" "scissors"

# 使用 .str.pad() 将原字符串填充为长度为 8 的字符串, 空余位置使用 _ 填充
suits.str.pad(8, fillchar="_") # "___clubs" "Diamonds" "hearts rate" "__Spades"

大小写转换

# 使用 .str.lower() 将suits 中的字符串变为小写
suits.str.lower() # "clubs" "diamonds" "hearts rate" "spades"

# 使用 .str.upper() 将suits 中的字符串变为大写
suits.str.upper() # "CLUBS" "DIAMONDS" "HEARTS RATE" "SPADES"

# 使用 .str.capitalize() 将 suits 中的每个字符串首字符变大写
Convert to sentence case with .str.capitalize() "Clubs" "Diamonds" "Hearts rate" "Spades"

# 使用 .str.title() 将 suits 中的每个字符串,每个单词首字符变大写
suits.str.title() # "Clubs" "Diamonds" "Hearts Rate" "Spades"

Format格式化

# 创建df
df = pd.DataFrame({"x": [0.123, 4.567, 8.901]})
#    x
#  0 0.123
#  1 4.567
#  2 8.901

# 精确到小数点一位输出
df.style.format(precision = 1)
#     x
#  0 0.1
#  1 4.5
#  2 8.9

分割字符串

# 使用 .str.split(pat="") 分割 suits 中的每个字符串,结果为pd.Series类型数据
suits.str.split(pat="")

# [, "c" "l" "u" "b" "s", ]
# [, "D" "i" "a" "m" "o" "n" "d" "s", ]
# [, h, e, a, r, t, s,  , r, a, t, e, ]
# [, "S" "p" "a" "d" "e" "s", ]


# 使用.str.split(pat = "a") 分割 suits, 结果为pd.Series类型数据
suits.str.split(pat = "a")

# ["clubs"]
# ["Di", "monds"]
# [he, rts r, te]
# ["Sp", "des"]


# 使用 .str.split(expand=True) 分割 suits, 结果为pd.DataFrame类型数据
suits.str.split(pat = "a", expand=True)

#        0      1     2
# 0  clubs   None   None
# 1     Di  monds   None
# 2     he  rts r     te
# 3     Sp    des   None

拼接

# suits 中每个字符串拼接字符 
suits + "5" # "clubs5" "Diamonds5" "hearts rate5" "Spades5"

# 使用.str.cat() 将字符向量折叠为字符串, 间隔符为 ","
suits.str.cat(sep=", ") # "clubs, Diamonds, hearts rate, Spades"

# 使用 * 复制字符串
suits * 2 # "clubsclubs" "DiamondsDiamonds" "hearts ratehearts rate" "SpadesSpades"

识别匹配

正则表达式模式

# Detect if a regex pattern is present in strings with .str.contains()
# 使用 .str.contains() 检测字符串中是否存在 “a或e中的任意字符”
suits.str.contains("[ae]") # False True True True

# 使用.str.Count() 计算匹配数
suits.str.count("[ae]") # 0 1 4 2

# 使用 str.find() 查找子字符串的位置
suits.str.find("e") # -1 -1 1 4

提取匹配

正则表达式模式

# 使用str.findall() 从字符串中提取所有的匹配项, 结果为元素为list的 pd.Series
suits.str.findall(".[ae]") # [] ["ia"] ["he", "ra", "te"] ["pa", "de"]


# 使用 .str.extractall() 从字符串中提取所有的匹配项,结果为 pd.DataFrame
suits.str.extractall("([ae])(.)")
#            0 1
#   match
# 1 0        a m
# 2 0        e a
#   1        a t
# 3 0        a d
#   1        e s


# 使用布尔索引选取含 d 的数据
# Get subset of strings that match with x[x.str.contains()]
suits[suits.str.contains("d")] # "Diamonds" "Spades"

替换

# 用 .str.replace() 将正则表达式匹配项替换为另一个字符串
suits.str.replace("a", "4") # "clubs" "Di4monds" "he4rts r4te" "Sp4des"

# 用.str.slice_replace() 替换子字符串
rhymes = pd.Series(["vein", "gain", "deign"])
rhymes.str.slice_replace(0, 1, "r") # "rein" "rain" "reign"

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值