详解pandas.str.endswith()(检测字符串结尾)函数使用方法

  • Post category:Python

pandas.str.endswith()攻略

pandas.str.endswith()是Pandas库中的一个用于字符串操作的函数,它用于测试Series或Index(或它们的子类)内每个字符串是否以指定的字符串结尾。

该函数的语法如下:

Series.str.endswith(pat, na=None)

其中pat为字符串或可作为字符串的列表或元祖,代表我们要查找的结尾。如果我们要查找多个结尾,可以将这些结尾组成一个列表传入该函数。na为可选项,用于表示传入的字符串中的空值。

接下来,我们将提供两个使用pandas.str.endswith()函数的实例。

实例1:使用pandas.str.endswith()获取不同文件类型的文件名

假设我们有一组文件名,我们想要把不同类型的文件名分开。我们可以使用pandas.str.endswith()函数,传入一个包含不同文件类型的元组,以此获取这些文件的文件名。

import pandas as pd

file_names = pd.Series(['music.mp3', 'video.mp4', 'document.docx', 'spreadsheet.xlsx'])

# 分别获取不同类型的文件名
music_files = file_names[file_names.str.endswith('.mp3')]
video_files = file_names[file_names.str.endswith('.mp4')]
document_files = file_names[file_names.str.endswith('.docx')]
spreadsheet_files = file_names[file_names.str.endswith('.xlsx')]

print('music_files:', music_files.tolist())
print('video_files:', video_files.tolist())
print('document_files:', document_files.tolist())
print('spreadsheet_files:', spreadsheet_files.tolist())

输出结果为:

music_files: ['music.mp3']
video_files: ['video.mp4']
document_files: ['document.docx']
spreadsheet_files: ['spreadsheet.xlsx']

实例2:使用pandas.str.endswith()清洗数据

我们可以使用pandas.str.endswith()函数进行数据清洗。比如,我们想要获取许多电话号码中以’888’结尾的号码:

import pandas as pd

phone_numbers = pd.Series(['123-456-8888', '456-789-1234', '555-777-8888', '999-888-1234'])

# 获取以'888'结尾的电话号码
result = phone_numbers[phone_numbers.str.endswith('888')]

print(result.tolist())

输出结果为:

['123-456-8888', '555-777-8888']

总结

pandas.str.endswith()函数用于测试Series或Index(或它们的子类)内每个字符串是否以指定的字符串结尾,可以快速地获取指定结尾的字符串,以及进行数据清洗。