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

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

Linda Hamilton
Linda Hamilton原创
2024-10-24 13:28:31958浏览

How to Extract Numeric Values from String Columns in Pandas?

Pandas 数据操作:从字符串列中提取数字

在 Pandas 中处理数据框时,有必要执行各种操作来提取有意义的信息。其中一项任务可能涉及从数据框列中包含的字符串中提取数值。在这里,我们探索一个特定的场景来满足此要求。

考虑以下数据框,其中包含名为“A”的列,其中包含字符串值:

<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”列中的每个单元格中提取数字,从而生成一个新的数据框,其中“A”列仅包含数值。

要实现这一目标,可以利用强大的 str Pandas 中的 .extract 函数。通过在 str.extract 表达式中使用正则表达式捕获组,可以从数据帧中的每个字符串中分离和提取数字:

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

正则表达式模式 '(d )' 匹配一个或更多数字 (d) 并将它们捕获为一组(括号 ( 和 ))。运行上述代码会产生以下结果:

<code class="python">    A
0   1
1   NaN
2   10
3   100
4   0
Name: A, dtype: object</code>

“A”列中的原始字符串已成功转换为数值,而对于缺失值的单元格保留 NaN。事实证明,这种方法对于从字符串中提取整数特别有效,使其成为数据分析和操作场景中的宝贵工具。

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

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