gpt4 book ai didi

python - 如何在 Pandas DataFrame 中找到特定的子字符串,然后获取其后面的文本?

转载 作者:行者123 更新时间:2023-12-01 08:19:00 24 4
gpt4 key购买 nike

所以我有一个从 html 网页获取的 Pandas 数据框。数据框只有 1 列,并且该列没有标识名称。我想从数据框中找到特定的子字符串,然后获取紧随该子字符串的文本。

注意:子字符串搜索中永远不会重复。
例如:永远不会有 2 个学校 2 的实例:

数据框的格式如下:

School 1: 1 Hour Delay
School 2: 2 Hour Delay
School 3: Closed

我希望能够搜索学校 3:,然后返回状态,无论是关闭、延迟 1 小时还是延迟 2 小时。

我最初的想法只是if "School 3:"in df print("School 3:found")但我只是从中得到一个错误,我假设是因为你不能只检查这样的字符串。如果有人知道如何找到子字符串然后获取其后的文本,我很想知道。

最佳答案

假设正好一行总是匹配此条件,您可以使用str.extract:

df.iloc[:,0].str.extract('(?<=School 3: )(.*)', expand=False).dropna().values[0]
# 'Closed'

(注意:如果有多行匹配此条件,则仅返回第一个匹配的状态。)

否则,如果可能没有任何匹配项,则需要尝试异常(exception):

try:
status = (df.iloc[:,0]
.str.extract('(?<=School 3: )(.*)', expand=False)
.dropna()
.values[0])
except (IndexError, ValueError):
status = np.nan

关于python - 如何在 Pandas DataFrame 中找到特定的子字符串,然后获取其后面的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54800003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com