首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数字5开始得到前9个字符?

如何从数字5开始得到前9个字符?
EN

Stack Overflow用户
提问于 2022-02-16 11:24:50
回答 5查看 46关注 0票数 2

我有这样的数据

代码语言:javascript
复制
0            504189219
1            500618053
2            0537533477
3            966581566618
4            00536079946

我希望输出是这样的

代码语言:javascript
复制
504189219
500618053
537533477
581566618
536079946
EN

回答 5

Stack Overflow用户

发布于 2022-02-16 11:30:53

使用str.extract

代码语言:javascript
复制
df['Col'] = df['Col'].str.extract('(5\d{8})')
print(df)

# Output
         Col
0  504189219
1  500618053
2  537533477
3  581566618
4  536079946

设置:

代码语言:javascript
复制
df = pd.DataFrame({'Col': ['504189219', '500618053', '0537533477',
                           '966581566618', '00536079946']})
print(df)

# Output
            Col
0     504189219
1     500618053
2    0537533477
3  966581566618
4   00536079946
票数 3
EN

Stack Overflow用户

发布于 2022-02-16 11:30:54

有一个名为phonenumbers的库可以帮助您完成这项工作,请参阅this post

票数 0
EN

Stack Overflow用户

发布于 2022-02-16 11:47:48

使用与Corr外星人相同的设置,这种方法也是可能的:

代码语言:javascript
复制
df = pd.DataFrame({'Col': ['504189219', '500618053', '0537533477',
                           '966581566618', '00536079946']})

def getNumber(n):
    return n[n.find('5'):n.find('5') + 9]

df['Col'] = df['Col'].apply(getNumber)

print(df)

同样的结果也可以通过lambda表达式来实现。

其他答案最初没有考虑到这9个数字的限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71140930

复制
相关文章

相似问题

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