首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在熊猫dataframe列中删除数字值之前的字符串?

如何在熊猫dataframe列中删除数字值之前的字符串?
EN

Stack Overflow用户
提问于 2018-04-10 20:04:13
回答 2查看 957关注 0票数 2

我有一个包含字符串的熊猫数据栏,如下所示:

代码语言:javascript
复制
Column A

text moretext 251 St. Louis Apt.54
123 Orange Drive
sometext somemoretext 171 Poplar street
textnew 11th street 
77 yorkshire avenue

我希望删除数字值之前的文本,即,我希望输出如下所示:

代码语言:javascript
复制
Column A

251 St. Louis Apt.54
123 Orange Drive
171 Poplar street
11th street 
77 yorkshire avenue
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-10 20:07:45

让我们使用regex和extract

代码语言:javascript
复制
df['Column A'] = df['Column A'].str.extract(r'(\d+.+$)')

输出:

代码语言:javascript
复制
0    251 St. Louis Apt.54
1        123 Orange Drive
2       171 Poplar street
3             11th street
4     77 yorkshire avenue
Name: Column A, dtype: object

regex状态得到一组字符,以任意长度开始,然后继续到行尾。

票数 5
EN

Stack Overflow用户

发布于 2018-04-10 20:12:27

此函数是查找字符串中第一个数字字符的索引,并选择字符串的其余部分。然后使用apply函数将该函数应用于列的每个值。

代码语言:javascript
复制
def change(string):
    for i, c in enumerate(string):
         if c.isdigit():
            idx = i
            break
    return string[idx:]

data[A] = data[A].apply(change, axis = 0)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49762063

复制
相关文章

相似问题

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