Pandas:从字符串中提取数字
在 Pandas 中处理数据框时,通常需要从包含非-数字字符。这可能具有挑战性,但 Pandas 提供了多种方法来帮助您实现这一目标。
使用 str.extract() 进行数字提取
一种从字符串是str.extract()。此方法允许您指定定义要捕获的数值数据的正则表达式模式。
考虑以下数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
})
print(df)
输出:
A 0 1a 1 NaN 2 10a 3 100b 4 0b
要从每个单元格中提取数字,可以使用以下正则表达式:
df.A.str.extract('(\d )')
正则表达式模式 (\d ) 捕获一个或多个数字的任何序列。模式周围的括号创建一个捕获组,用于返回字符串的匹配部分。
输出:
0 1 1 NaN 2 10 3 100 4 0 Name: A, dtype: object
如您所见,已从每个单元格中成功提取所需的数字,即使是那些包含非数字字符的单元格。请注意,此方法仅适用于整数,不适用于浮点数。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3