首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas系列摘录与常规实验

Pandas系列摘录与常规实验
EN

Stack Overflow用户
提问于 2019-02-10 01:34:20
回答 2查看 35关注 0票数 1

需要从具有以下值的Pandas列中提取以下内容

代码语言:javascript
复制
8-9 yrs
7-12 yrs
4-6 yrs

需要在列中更新9,12,6。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-10 02:48:01

带有df的DataFrame,其中包含一个列a

使用带有findall函数的re库和正则表达式

代码语言:javascript
复制
import re
df.a.apply(lambda x : re.findall(r'-(\d+)', x))

票数 0
EN

Stack Overflow用户

发布于 2019-02-10 01:37:15

-之后使用带有正则表达式的str.extract来获取数字,或者使用带有索引的split来获取数字,如果需要,最后转换为整数:

代码语言:javascript
复制
df['B1'] = df.A.str.extract('-(\d+)', expand=True)
df['B2'] = df.A.str.split(n=1).str[0].str.split('-').str[1].astype(int)
df['B3'] = df.A.str.split('-|\s+').str[1].astype(int)
print (df)
          A  B1  B2  B3
0   8-9 yrs   9   9   9
1  7-12 yrs  12  12  12
2   4-6 yrs   6   6   6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54608780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档