Python酷库之旅-第三方库Pandas(083)

目录

一、用法精讲

346、pandas.Series.str.upper方法

346-1、语法

346-2、参数

346-3、功能

346-4、返回值

346-5、说明

346-6、用法

346-6-1、数据准备

346-6-2、代码示例

346-6-3、结果输出

347、pandas.Series.str.wrap方法

347-1、语法

347-2、参数

347-3、功能

347-4、返回值

347-5、说明

347-6、用法

347-6-1、数据准备

347-6-2、代码示例

347-6-3、结果输出

348、pandas.Series.str.zfill方法

348-1、语法

348-2、参数

348-3、功能

348-4、返回值

348-5、说明

348-6、用法

348-6-1、数据准备

348-6-2、代码示例

348-6-3、结果输出

349、pandas.Series.str.isalnum方法

349-1、语法

349-2、参数

349-3、功能

349-4、返回值

349-5、说明

349-6、用法

349-6-1、数据准备

349-6-2、代码示例

349-6-3、结果输出

350、pandas.Series.str.isalpha方法

350-1、语法

350-2、参数

350-3、功能

350-4、返回值

350-5、说明

350-6、用法

350-6-1、数据准备

350-6-2、代码示例

350-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

346、pandas.Series.str.upper方法
346-1、语法
# 346、pandas.Series.str.upper方法
pandas.Series.str.upper()
Convert strings in the Series/Index to uppercase.

Equivalent to str.upper().

Returns:
Series or Index of object.
346-2、参数

        无

346-3、功能

        一个用于将文本序列中的所有字符转换为大写字母的方法,它可以在Pandas中对字符串数据进行操作,通常与Series对象一起使用。

346-4、返回值

        返回一个新的Series,其中所有原始字符串的字符都被转换为大写。

346-5、说明

        无

346-6、用法
346-6-1、数据准备
346-6-2、代码示例
# 346、pandas.Series.str.upper方法
import pandas as pd
# 创建一个示例 Series
s = pd.Series(['apple', 'banana', 'cherry'])
# 将所有字符串转换为大写
upper_s = s.str.upper()
print(upper_s)
346-6-3、结果输出
# 346、pandas.Series.str.upper方法
# 0     APPLE
# 1    BANANA
# 2    CHERRY
# dtype: object
347、pandas.Series.str.wrap方法
347-1、语法
# 347、pandas.Series.str.wrap方法
pandas.Series.str.wrap(width, **kwargs)
Wrap strings in Series/Index at specified line width.

This method has the same keyword parameters and defaults as textwrap.TextWrapper.

Parameters:
width
int
Maximum line width.

expand_tabs
bool, optional
If True, tab characters will be expanded to spaces (default: True).

replace_whitespace
bool, optional
If True, each whitespace character (as defined by string.whitespace) remaining after tab expansion will be replaced by a single space (default: True).

drop_whitespace
bool, optional
If True, whitespace that, after wrapping, happens to end up at the beginning or end of a line is dropped (default: True).

break_long_words
bool, optional
If True, then words longer than width will be broken in order to ensure that no lines are longer than width. If it is false, long words will not be broken, and some lines may be longer than width (default: True).

break_on_hyphens
bool, optional
If True, wrapping will occur preferably on whitespace and right after hyphens in compound words, as it is customary in English. If false, only whitespaces will be considered as potentially good places for line breaks, but you need to set break_long_words to false if you want truly insecable words (default: True).

Returns:
Series or Index
Notes

Internally, this method uses a textwrap.TextWrapper instance with default settings. To achieve behavior matching R’s stringr library str_wrap function, use the arguments:

expand_tabs = False

replace_whitespace = True

drop_whitespace = True

break_long_words = False

break_on_hyphens = False
347-2、参数

347-2-1、width(必须)整数,指定每行的最大字符数,必须为正整数。

347-2-2、**kwargs(可选)额外的关键字参数,具体取决于textwrap.wrap的参数:

347-2-2-1、expand_tabs(可选,默认值为False)布尔值,如果设为True,将制表符扩展为适当数量的空格。

347-2-2-2、replace_whitespace(可选,默认值为True)布尔值,如果设为True,将连续的空白字符(空格、换行等)替换为一个空格。

347-2-2-3、drop_whitespace(可选,默认值为True)布尔值,如果设为True,则删除空行。

347-2-2-4、initial_indent(可选)字符串,设置每一行的初始缩进字符。

347-2-2-5、subsequent_indent(可选)字符串,设置非首行的后续缩进字符。

347-2-2-6、fix_sentence_endings(可选,默认值为False)布尔值,如果设为True,将句子结束时的标点符号格式化为更好的阅读体验。

347-2-2-7、max_lines(可选,默认值为None)整数,指定最大行数,超过此行数的将被截断,默认为None,即没有限制。

347-3、功能

        将每个字符串按指定的宽度(width)进行分割,将长字符串转换为多行字符串,使每行的长度不超过指定的宽度。

347-4、返回值

        返回一个新的Series,其中每个字符串被换行分割为一个列表,每个元素代表一个行字符串。

347-5、说明

        使用场景:

347-5-1、文本数据预处理:在数据分析过程中,观察和处理长文本字段非常常见,此方法可以帮助你在进行数据清理或转换之前,使长文本更加整齐,有助于后续处理。

347-5-2、信息展示:当需要将长文本信息展示在终端、控制台或图形用户界面时,使用此方法可以使信息保持在指定的宽度,从而提高可读性。例如,生成报告时可以避免文本超出显示区域而产生的混乱。

347-5-3、生成格式化输出:在输出到文本文件(如CSV或TXT)时,使用该方法可以确保文本在文件中不会过于拥挤,这样其他用户在查看文件时,能够更容易地理解和获取信息。

347-5-4、数据可视化:在可视化数据时,如果需要在图表上显示文本(如标签或注释),使用此方法可以确保文本不会超出图表边界,从而提高图表的整体可读性。

347-5-5、用户界面的文本处理:在Web应用或移动应用中,展示长文本时,使用此方法可以控制文本的换行,确保在不同大小的屏幕上都能良好展示,改善用户体验。

347-5-6、邮件或通知摘要:在生成邮件或通知内容时,如果内容过长,使用此方法可以将其格式化为更加容易阅读的形式,以便接收者可以快速捕获重要信息。

347-5-7、法律文件或报告:在处理法律文本或正式报告时,这些文档往往包含大量的长段落,使用该方法可以帮助确保文本按规定格式出现在文档中,符合标准的排版要求。

347-6、用法
347-6-1、数据准备
347-6-2、代码示例
# 347、pandas.Series.str.wrap方法
# 347-1、文本数据预处理
import pandas as pd
# 创建一个包含长文本的Series
data = {
    'long_texts': [
        "这是一个非常长的文本,包含了很多信息,我们希望将其格式化为多行,以便更好的阅读体验。",
        "另一个长文本示例,目的是说明如何使用 str.wrap() 方法格式化文本内容,使其更加整洁易读。"
    ]
}
# 将数据转换为DataFrame
df = pd.DataFrame(data)
# 使用str.wrap()方法格式化文本至指定宽度
df['wrapped_texts'] = df['long_texts'].str.wrap(width=30)
print(df[['wrapped_texts']], end='\n\n')

# 347-2、生成格式化输出
import pandas as pd
# 创建一个包含长文本的Series
data = {
    'long_messages': [
        "这个消息非常重要,包含了很多细节需要记录下来,请务必仔细阅读这个消息的每一个部分。",
        "请注意,我将于下周一召开一次会议,所有相关人员都需要参加。会议详细信息会随后提供。"
    ]
}
# 将数据转换为DataFrame
df = pd.DataFrame(data)
# 使用str.wrap()方法将消息格式化
df['formatted_messages'] = df['long_messages'].str.wrap(width=50)
# 输出格式化后的消息
for message in df['formatted_messages']:
    print(message)
    print()  # 打印空行分隔每条消息

# 347-3、用户界面的文本处理
import pandas as pd
# 创建包含长文本的Series,模拟用户界面上的文本内容
data = {
    'ui_labels': [
        "欢迎来到我们的应用程序,您将在这里找到许多有用的功能,请随时探索!",
        "请填写以下信息,以便我们为您提供更好的服务,内容越详细越好,我们感激不尽!"
    ]
}
# 将数据转换为DataFrame
df = pd.DataFrame(data)

# 使用str.wrap()方法处理用户界面标签
df['wrapped_labels'] = df['ui_labels'].str.wrap(width=40)
# 输出处理后的标签
for label in df['wrapped_labels']:
    print(label)
    print()

# 347-4、法律文件或报告输出
import pandas as pd
# 创建一个包含法律文本的Series
data = {
    'legal_texts': [
        "根据相关法律法规,本公司在此明确声明,任何未经授权的活动将不被允许,并将追究相关法律责任。",
        "本协议的任何部分若被认定为无效或不可执行,其余部分仍然有效,并且应继续执行。"
    ]
}
# 将数据转换为DataFrame
df = pd.DataFrame(data)
# 使用str.wrap()方法格式化法律文本
df['formatted_legal'] = df['legal_texts'].str.wrap(width=60)
# 输出格式化后的法律文本
for legal in df['formatted_legal']:
    print(legal)
    print()
347-6-3、结果输出
# 347、pandas.Series.str.wrap方法
# 347-1、文本数据预处理
#                                        wrapped_texts
# 0       这是一个非常长的文本,包含了很多信息,我们希望将其格式化为多\n行,以便更好的阅读体验。
# 1  另一个长文本示例,目的是说明如何使用 str.wrap()\n方法格式化文本内容,使其更加整...

# 347-2、生成格式化输出
# 这个消息非常重要,包含了很多细节需要记录下来,请务必仔细阅读这个消息的每一个部分。
#
# 请注意,我将于下周一召开一次会议,所有相关人员都需要参加。会议详细信息会随后提供。

# 347-3、用户界面的文本处理
# 欢迎来到我们的应用程序,您将在这里找到许多有用的功能,请随时探索!
#
# 请填写以下信息,以便我们为您提供更好的服务,内容越详细越好,我们感激不尽!

# 347-4、法律文件或报告输出
# 根据相关法律法规,本公司在此明确声明,任何未经授权的活动将不被允许,并将追究相关法律责任。
#
# 本协议的任何部分若被认定为无效或不可执行,其余部分仍然有效,并且应继续执行。
348、pandas.Series.str.zfill方法
348-1、语法
# 348、pandas.Series.str.zfill方法
pandas.Series.str.zfill(width)
Pad strings in the Series/Index by prepending ‘0’ characters.

Strings in the Series/Index are padded with ‘0’ characters on the left of the string to reach a total string length width. Strings in the Series/Index with length greater or equal to width are unchanged.

Parameters:
width
int
Minimum length of resulting string; strings with length less than width be prepended with ‘0’ characters.

Returns:
Series/Index of objects.
348-2、参数

348-2-1、width(必须)整数,指定最终字符串的宽度,若字符串的长度小于该宽度,则在其左侧填充零,直到达到指定的宽度;如果原字符串的长度已经大于或等于width,则返回的字符串保持不变。

348-3、功能

        将字符串表示的数字转化为指定宽度的字符串,左侧用零填充,对于非字符串类型(如NaN或其他类型),该方法会返回原值。

348-4、返回值

        返回一个新的Series,其中每个字符串被填充至指定的宽度,如果原字符串的长度已经大于或等于width,则该字符串不受影响。

348-5、说明

        无

348-6、用法
348-6-1、数据准备
348-6-2、代码示例
# 348、pandas.Series.str.zfill方法
import pandas as pd
# 创建一个示例Series
s = pd.Series(['1', '23', '456', '7890', None])
# 使用zfill方法
result = s.str.zfill(4)
print(result)
348-6-3、结果输出
# 348、pandas.Series.str.zfill方法
# 0    0001
# 1    0023
# 2    0456
# 3    7890
# 4    None
# dtype: object
349、pandas.Series.str.isalnum方法
349-1、语法
# 349、pandas.Series.str.isalnum方法
pandas.Series.str.isalnum()
Check whether all characters in each string are alphanumeric.

This is equivalent to running the Python string method str.isalnum() for each element of the Series/Index. If a string has zero characters, False is returned for that check.

Returns:
Series or Index of bool
Series or Index of boolean values with the same length as the original Series/Index.
349-2、参数

        无

349-3、功能

        用于判断每个字符串元素是否只包含字母数字字符(即字母和数字),如果字符串中仅包含字母和数字,则返回True,否则返回False。

349-4、返回值

        返回一个布尔类型的Series,表示每个元素是否符合条件。

349-5、说明

        无

349-6、用法
349-6-1、数据准备
349-6-2、代码示例
# 349、pandas.Series.str.isalnum方法
import pandas as pd
# 创建一个示例Series
data = pd.Series(['abc123', 'hello world', '12345', 'foo_bar', 'Test123', ''])
# 使用isalnum()方法
result = data.str.isalnum()
# 打印结果
print(result)
349-6-3、结果输出
# 349、pandas.Series.str.isalnum方法
# 0     True
# 1    False
# 2     True
# 3    False
# 4     True
# 5    False
# dtype: bool
350、pandas.Series.str.isalpha方法
350-1、语法
# 350、pandas.Series.str.isalpha方法
pandas.Series.str.isalpha()
Check whether all characters in each string are alphabetic.

This is equivalent to running the Python string method str.isalpha() for each element of the Series/Index. If a string has zero characters, False is returned for that check.

Returns:
Series or Index of bool
Series or Index of boolean values with the same length as the original Series/Index.
350-2、参数

        无

350-3、功能

        用于判断每个字符串元素是否只包含字母字符,如果字符串中仅包含字母,返回True;否则返回False。

350-4、返回值

        返回一个布尔类型的Series,表示每个字符串元素是否符合条件。

350-5、说明

        无

350-6、用法
350-6-1、数据准备
350-6-2、代码示例
# 350、pandas.Series.str.isalpha方法
import pandas as pd
# 创建一个示例Series
data = pd.Series(['hello', 'world', '123', 'foo_bar', 'Test', ''])
# 使用isalpha()方法
result = data.str.isalpha()
# 打印结果
print(result)
350-6-3、结果输出
# 350、pandas.Series.str.isalpha方法
# 0     True
# 1     True
# 2    False
# 3    False
# 4     True
# 5    False
# dtype: bool

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇夜光杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值