首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从列中的字符串中删除不需要的部分

从列中的字符串中删除不需要的部分
EN

Stack Overflow用户
提问于 2012-12-03 19:11:56
回答 8查看 442.4K关注 0票数 183

我正在寻找一种有效的方法来删除DataFrame列中字符串中不需要的部分。

数据如下所示:

代码语言:javascript
复制
    time    result
1    09:00   +52A
2    10:00   +62B
3    11:00   +44a
4    12:00   +30b
5    13:00   -110a

我需要将这些数据修剪为:

代码语言:javascript
复制
    time    result
1    09:00   52
2    10:00   62
3    11:00   44
4    12:00   30
5    13:00   110

我尝试了.str.lstrip('+-')和.str.rstrip('aAbBcC'),但得到一个错误:

代码语言:javascript
复制
TypeError: wrapper() takes exactly 1 argument (2 given)

如有任何建议,我们将不胜感激!

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-12-03 19:33:52

代码语言:javascript
复制
data['result'] = data['result'].map(lambda x: x.lstrip('+-').rstrip('aAbBcC'))
票数 224
EN

Stack Overflow用户

发布于 2015-01-31 22:57:04

我会使用pandas的替换函数,非常简单和强大,因为你可以使用正则表达式。下面我将使用regex \D来删除任何非数字字符,但显然,使用regex可以获得相当大的创造力。

代码语言:javascript
复制
data['result'].replace(regex=True,inplace=True,to_replace=r'\D',value=r'')
票数 58
EN

Stack Overflow用户

发布于 2014-03-07 07:27:54

在知道要从dataframe列中删除的位置数量的特殊情况下,可以在lambda函数中使用字符串索引来删除这些部分:

最后一个字符:

代码语言:javascript
复制
data['result'] = data['result'].map(lambda x: str(x)[:-1])

前两个字符:

代码语言:javascript
复制
data['result'] = data['result'].map(lambda x: str(x)[2:])
票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13682044

复制
相关文章

相似问题

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