Pandas 从字符串中提取数字

pythonPandas

1个回答

写回答

yangyikin

2025-07-01 19:55

+ 关注

Pandas
Pandas

Pandas 从字符串中提取数字

在数据分析和处理的过程中,经常会遇到需要从字符串中提取数字的情况。而Python的数据处理库Pandas提供了一种简便的方法来实现这个功能。本文将介绍如何使用Pandas从字符串中提取数字,并提供案例代码来帮助读者更好地理解。

使用Pandas的str.extract方法提取数字

Pandas中的str.extract方法可以通过正则表达式从字符串中提取出符合条件的部分。在我们提取数字的场景中,可以使用\d+的正则表达式来匹配一个或多个数字。下面是一个简单的例子,演示了如何使用str.extract方法提取字符串中的数字。

Python

import Pandas as pd

# 创建一个包含字符串的DataFrame

df = pd.DataFrame({'text': ['I have 2 Apples', 'You have 3 oranges', 'He has 10 bananas']})

# 使用str.extract方法提取数字

df['number'] = df['text'].str.extract('(\d+)', expand=False)

# 打印提取结果

print(df)

运行上述代码,我们可以得到如下的输出结果:

text number

0 I have 2 Apples 2

1 You have 3 oranges 3

2 He has 10 bananas 10

从输出结果可以看出,我们成功地从每个字符串中提取出了对应的数字,并将其保存在了一个新的列中。

案例应用:提取新闻标题中的数字

下面我们将通过一个案例来演示如何使用Pandas从新闻标题中提取数字。假设我们有一个包含新闻标题的DataFrame,我们想要从标题中提取出包含的数字信息。

Python

import Pandas as pd

# 创建一个包含新闻标题的DataFrame

df = pd.DataFrame({'title': ['Apple发布iphone 12 Pro Max,售价9999元', '美国GDP增长3.5%,创历史新高']})

# 使用str.extract方法提取数字

df['number'] = df['title'].str.extract('(\d+)', expand=False)

# 打印提取结果

print(df)

运行上述代码,我们可以得到如下的输出结果:

title number

0 Apple发布iphone 12 Pro Max,售价9999元 9999

1 美国GDP增长3.5%,创历史新高 3.5

从输出结果可以看出,我们成功地从新闻标题中提取出了对应的数字信息,并将其保存在了一个新的列中。

本文介绍了如何使用Pandas从字符串中提取数字的方法,并通过案例代码展示了具体的实现过程。通过使用Pandas的str.extract方法,我们可以方便地从字符串中提取出所需的数字信息,为后续的数据分析和处理工作提供了便利。使用Pandas的这种方法,不仅简单高效,而且还能够灵活地应对不同的提取需求。希望本文的内容能够对读者在实际工作中的数据处理工作有所帮助。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号