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中文网其他相关文章!