pandas 转换panda Dataframe 中的数据行

xesrikrc  于 2023-03-06  发布在  其他
关注(0)|答案(2)|浏览(142)

我有一个Pandas Dataframe ,其中的数据具有以下格式

data = {
  "Born": ['November 9, 2000 (age22)', 'July 15, 2001, (age 21)'],
}

我希望将此数据转换为仅将年龄显示为int,例如

data = {
  "Born": [22, 21],
}

首先,这是可行的吗?如果可行,我将如何着手?
谢谢你的帮忙!

gojuced7

gojuced71#

使用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 )
fcy6dtqo

fcy6dtqo2#

Series.str.extract用于age后面的数字,并带有可选空格:

df['Born'] = df['Born'].str.extract('age\s*(\d+)', expand=False).astype(int)
print (df)
   Born
0    22
1    21

相关问题