我有一个Pandas Dataframe ,其中的数据具有以下格式
data = { "Born": ['November 9, 2000 (age22)', 'July 15, 2001, (age 21)'], }
我希望将此数据转换为仅将年龄显示为int,例如
data = { "Born": [22, 21], }
首先,这是可行的吗?如果可行,我将如何着手?谢谢你的帮忙!
gojuced71#
使用str.extract并使用astype转换为整数:
str.extract
astype
df['Born'] = df['Born'].str.extract('\(age\s*(\d+)\)', expand=False).astype(int)
更新的 Dataframe :
Born 0 22 1 21
regex demo
\( # match a literal ( age\s* # match "age" with optional spaces (\d+) # capture digits \) # match a literal )
fcy6dtqo2#
Series.str.extract用于age后面的数字,并带有可选空格:
Series.str.extract
age
df['Born'] = df['Born'].str.extract('age\s*(\d+)', expand=False).astype(int) print (df) Born 0 22 1 21
2条答案
按热度按时间gojuced71#
使用
str.extract
并使用astype
转换为整数:更新的 Dataframe :
正则表达式
regex demo
fcy6dtqo2#
Series.str.extract
用于age
后面的数字,并带有可选空格: