首页  >  文章  >  后端开发  >  如何从 Pandas 中的非数字字符串中提取数字?

如何从 Pandas 中的非数字字符串中提取数字?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-24 14:15:02648浏览

How to Extract Numbers from Non-Numeric Strings in Pandas?

Pandas:从字符串中提取数字

在 Pandas 中处理数据框时,通常需要从包含非-数字字符。这可能具有挑战性,但 Pandas 提供了多种方法来帮助您实现这一目标。

使用 str.extract() 进行数字提取

一种从字符串是str.extract()。此方法允许您指定定义要捕获的数字数据的正则表达式模式。

考虑以下数据框:

<code class="python">import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })
print(df)</code>

输出:

    A
0   1a
1   NaN
2   10a
3   100b
4   0b

要从每个单元格中提取数字,您可以使用以下正则表达式:

<code class="python">df.A.str.extract('(\d+)')</code>

正则表达式模式 (d ) 捕获一个或多个数字的任何序列。模式两边的括号创建一个捕获组,用于返回字符串的匹配部分。

输出:

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object

如您所见,所需的数字已成功获取从每个单元格中提取,即使是那些包含非数字字符的单元格。请注意,此方法仅适用于整数,不适用于浮点数。

以上是如何从 Pandas 中的非数字字符串中提取数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn