首页 > Python资料 博客日记
Python酷库之旅-第三方库Pandas(079)
2024-08-17 08:00:06Python资料围观49次
目录
326、pandas.Series.str.normalize方法
328、pandas.Series.str.partition方法
329、pandas.Series.str.removeprefix方法
330、pandas.Series.str.removesuffix方法
一、用法精讲
326、pandas.Series.str.normalize方法
326-1、语法
# 326、pandas.Series.str.normalize方法
pandas.Series.str.normalize(form)
Return the Unicode normal form for the strings in the Series/Index.
For more information on the forms, see the unicodedata.normalize().
Parameters:
form
{‘NFC’, ‘NFKC’, ‘NFD’, ‘NFKD’}
Unicode form.
Returns:
Series/Index of objects.
326-2、参数
326-2-1、form(必须):指定了规范化的形式,可以选择以下四种形式:
- 'NFC':Normalization Form C (Canonical Composition),规范化形式C,将分解的字符组合成一个字符。比如,将 "é" 和 "é" 规范化为 "é"。
- 'NFD':Normalization Form D (Canonical Decomposition),规范化形式D,将字符分解为其基础字符和组合标记。比如,将 "é" 分解为 "e" 和 "́"。
- 'NFKC':Normalization Form KC (Compatibility Composition),兼容性组合,将兼容性等价的字符组合到一起,同时执行 NFC 规范化。
- 'NFKD':Normalization Form KD (Compatibility Decomposition),兼容性分解,将字符分解为其兼容性等价的基础字符和组合标记。
326-3、功能
对字符串进行规范化处理,确保字符序列的唯一性,它对于处理来自不同来源的数据、统一字符串格式、提高字符串比较的一致性非常有用。
326-4、返回值
返回一个新的pandas.Series对象,其中每个字符串都经过指定形式的规范化处理。
326-5、说明
无
326-6、用法
326-6-1、数据准备
无
326-6-2、代码示例
# 326、pandas.Series.str.normalize方法
import pandas as pd
# 示例数据
data = pd.Series(['café', 'e\u0301clair', 'cafe\u0301'])
# 使用NFC进行规范化
normalized_data = data.str.normalize('NFC')
print(normalized_data)
# 使用NFD进行规范化
normalized_data = data.str.normalize('NFD')
print(normalized_data)
# 使用NFKC进行规范化
normalized_data = data.str.normalize('NFKC')
print(normalized_data)
# 使用NFKD进行规范化
normalized_data = data.str.normalize('NFKD')
print(normalized_data)
326-6-3、结果输出
# 326、pandas.Series.str.normalize方法
# 0 café
# 1 éclair
# 2 café
# dtype: object
# 0 café
# 1 éclair
# 2 café
# dtype: object
# 0 café
# 1 éclair
# 2 café
# dtype: object
# 0 café
# 1 éclair
# 2 café
# dtype: object
327、pandas.Series.str.pad方法
327-1、语法
# 327、pandas.Series.str.pad方法
pandas.Series.str.pad(width, side='left', fillchar=' ')
Pad strings in the Series/Index up to width.
Parameters:
width
int
Minimum width of resulting string; additional characters will be filled with character defined in fillchar.
side
{‘left’, ‘right’, ‘both’}, default ‘left’
Side from which to fill resulting string.
fillchar
str, default ‘ ‘
Additional character for filling, default is whitespace.
Returns:
Series or Index of object
Returns Series or Index with minimum number of char in object.
327-2、参数
327-2-1、width(必须):整数,用于定义字符串在填充后的总宽度,如果字符串的长度小于这个宽度,将会在指定方向填充字符,使其达到指定宽度。
327-2-2、side(可选,默认值为'left'):指定填充的方向,选项有:
- 'left':在字符串的左侧进行填充。
- 'right':在字符串的右侧进行填充。
- 'both':在字符串的两侧进行填充,如果需要在两侧填充,但总宽度不均匀,多余的填充字符会放在右侧。
327-2-3、fillchar(可选,默认值为' '):字符串,用于填充的字符,该字符必须是单个字符长度的字符串。
327-3、功能
将字符串填充到指定的宽度,这对于对齐文本或格式化输出非常有用,根据需要,您可以选择在字符串的左侧、右侧或两侧添加填充字符。
327-4、返回值
返回一个新的pandas.Series对象,其中每个字符串都经过了指定方向和填充字符的处理,长度达到了指定的宽度。
327-5、说明
无
327-6、用法
327-6-1、数据准备
无
327-6-2、代码示例
# 327、pandas.Series.str.pad方法
import pandas as pd
# 示例数据
data = pd.Series(['cat', 'dog', 'elephant'])
# 在左侧填充,使每个字符串的长度达到10,填充字符为'*'
padded_left = data.str.pad(width=10, side='left', fillchar='*')
# 在右侧填充,使每个字符串的长度达到10,填充字符为'-'
padded_right = data.str.pad(width=10, side='right', fillchar='-')
# 在两侧填充,使每个字符串的长度达到10,填充字符为'~'
padded_both = data.str.pad(width=10, side='both', fillchar='~')
print("Left Padded:\n", padded_left)
print("Right Padded:\n", padded_right)
print("Both Sides Padded:\n", padded_both)
327-6-3、结果输出
# 327、pandas.Series.str.pad方法
# Left Padded:
# 0 *******cat
# 1 *******dog
# 2 **elephant
# dtype: object
# Right Padded:
# 0 cat-------
# 1 dog-------
# 2 elephant--
# dtype: object
# Both Sides Padded:
# 0 ~~~cat~~~~
# 1 ~~~dog~~~~
# 2 ~elephant~
# dtype: object
328、pandas.Series.str.partition方法
328-1、语法
# 328、pandas.Series.str.partition方法
pandas.Series.str.partition(sep=' ', expand=True)
Split the string at the first occurrence of sep.
This method splits the string at the first occurrence of sep, and returns 3 elements containing the part before the separator, the separator itself, and the part after the separator. If the separator is not found, return 3 elements containing the string itself, followed by two empty strings.
Parameters:
sep
str, default whitespace
String to split on.
expand
bool, default True
If True, return DataFrame/MultiIndex expanding dimensionality. If False, return Series/Index.
Returns:
DataFrame/MultiIndex or Series/Index of objects.
328-2、参数
328-2-1、sep(可选,默认值为' '):字符串,用于分割字符串的分隔符,该分隔符可以是任意字符或字符串。如果字符串中没有找到指定的分隔符,那么结果将包含原字符串,并且中间和右侧的结果为空字符串。
328-2-2、expand(可选,默认值为True):布尔值,指定返回值的形式。
- 如果为True,方法将返回一个DataFrame,其中包含三列,分别对应分隔符前的部分、分隔符本身、分隔符后的部分。
- 如果为False,方法将返回一个Series,其中每个元素是一个包含这三部分的元组(before,sep,after)。
328-3、功能
通过指定的分隔符将每个字符串分为三部分,该方法非常适合用于处理包含特定分隔符的字符串,帮助我们快速获取分隔符两侧的内容。
328-4、返回值
根据expand参数的值,该方法有两种不同的返回值:
- 当expand=True时,返回一个DataFrame,每列分别表示分隔符前的部分、分隔符本身、分隔符后的部分。
- 当expand=False时,返回一个Series,其中每个元素是一个(before,sep,after)的元组。
328-5、说明
无
328-6、用法
328-6-1、数据准备
无
328-6-2、代码示例
# 328、pandas.Series.str.partition方法
import pandas as pd
# 示例数据
data = pd.Series(['apple-pie', 'banana-split', 'cherry'])
# 使用'-'作为分隔符进行分割,expand=True,返回DataFrame
partitioned_df = data.str.partition(sep='-', expand=True)
# 使用'-'作为分隔符进行分割,expand=False,返回Series
partitioned_series = data.str.partition(sep='-', expand=False)
print("Partitioned DataFrame:\n", partitioned_df)
print("Partitioned Series:\n", partitioned_series)
328-6-3、结果输出
# 328、pandas.Series.str.partition方法
# Partitioned DataFrame:
# 0 1 2
# 0 apple - pie
# 1 banana - split
# 2 cherry
# Partitioned Series:
# 0 (apple, -, pie)
# 1 (banana, -, split)
# 2 (cherry, , )
# dtype: object
329、pandas.Series.str.removeprefix方法
329-1、语法
# 329、pandas.Series.str.removeprefix方法
pandas.Series.str.removeprefix(prefix)
Remove a prefix from an object series.
If the prefix is not present, the original string will be returned.
Parameters:
prefix
str
Remove the prefix of the string.
Returns:
Series/Index: object
The Series or Index with given prefix removed.
329-2、参数
329-2-1、prefix(必须):字符串,指定要移除的前缀,如果字符串的开头部分与prefix匹配,那么该部分将被移除;如果字符串不以prefix开头,则字符串保持不变。
329-3、功能
从每个字符串的开头移除指定的前缀,该方法特别适用于清理数据时,需要删除统一的开头标识符或固定格式的前缀。
329-4、返回值
返回一个新的Series,其中每个字符串都已经移除了指定的前缀,如果原始字符串不包含指定的前缀,则返回的字符串与原字符串相同。
329-5、说明
无
329-6、用法
329-6-1、数据准备
无
329-6-2、代码示例
# 329、pandas.Series.str.removeprefix方法
import pandas as pd
# 示例数据
data = pd.Series(['prefix_text1', 'prefix_text2', 'no_prefix_text'])
# 使用'removeprefix'方法移除前缀'prefix_'
removed_prefix = data.str.removeprefix('prefix_')
print("Original Series:\n", data)
print("Series after removing prefix:\n", removed_prefix)
329-6-3、结果输出
# 329、pandas.Series.str.removeprefix方法
# Original Series:
# 0 prefix_text1
# 1 prefix_text2
# 2 no_prefix_text
# dtype: object
# Series after removing prefix:
# 0 text1
# 1 text2
# 2 no_prefix_text
# dtype: object
330、pandas.Series.str.removesuffix方法
330-1、语法
# 330、pandas.Series.str.removesuffix方法
pandas.Series.str.removesuffix(suffix)
Remove a suffix from an object series.
If the suffix is not present, the original string will be returned.
Parameters:
suffix
str
Remove the suffix of the string.
Returns:
Series/Index: object
The Series or Index with given suffix removed.
330-2、参数
330-2-1、suffix(必须):字符串,指定要移除的后缀,如果字符串的结尾部分与suffix匹配,那么该部分将被移除;如果字符串不以suffix结尾,则字符串保持不变。
330-3、功能
从每个字符串的结尾移除指定的后缀,该方法特别适用于清理数据时,需要删除统一的结尾标识符或固定格式的后缀。
330-4、返回值
返回一个新的Series,其中每个字符串都已经移除了指定的后缀,如果原始字符串不包含指定的后缀,则返回的字符串与原字符串相同。
330-5、说明
无
330-6、用法
330-6-1、数据准备
无
330-6-2、代码示例
# 330、pandas.Series.str.removesuffix方法
import pandas as pd
# 示例数据
data = pd.Series(['text1_suffix', 'text2_suffix', 'text3_nosuffix'])
# 使用'removesuffix'方法移除后缀'_suffix'
removed_suffix = data.str.removesuffix('_suffix')
print("Original Series:\n", data)
print("Series after removing suffix:\n", removed_suffix)
330-6-3、结果输出
# 330、pandas.Series.str.removesuffix方法
# Original Series:
# 0 text1_suffix
# 1 text2_suffix
# 2 text3_nosuffix
# dtype: object
# Series after removing suffix:
# 0 text1
# 1 text2
# 2 text3_nosuffix
# dtype: object
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj