如何将Pandas DataFrame中Born列的年龄提取为整数?
实现方法
当然可以实现,下面是具体的操作步骤和代码:
首先导入pandas并构造DataFrame:
import pandas as pd data = { "Born": ['November 9, 2000 (age22)', 'July 15, 2001, (age 21)'], } df = pd.DataFrame(data)
方法一:正则提取年龄数字
利用Pandas的str.extract方法结合正则表达式,精准捕获age后的数字内容,再转为整数类型:
# 匹配age后(可带空格)的数字,提取后转整数 df['Born'] = df['Born'].str.extract(r'age\s*(\d+)').astype(int)
方法二:更精准匹配括号内的年龄
如果要严格匹配括号内的age部分,避免字符串其他位置数字干扰,可以使用更精确的正则:
# 匹配括号内以age开头的数字部分 df['Born'] = df['Born'].str.extract(r'\(age\s*(\d+)\)').astype(int)
执行后,df['Born']就会变成整数格式的年龄数据:
Born 0 22 1 21
内容的提问来源于stack exchange,提问作者quarantinho
相关产品推荐
相关产品推荐

