为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

不负相思意 2019-08-16 14:11:47
从列中的字符串中删除不需要的部分我正在寻找一种有效的方法来从DataFrame列中的字符串中删除不需要的部分。数据看起来像:    time    result1    09:00   +52A2    10:00   +62B3    11:00   +44a4    12:00   +30b5    13:00   -110a我需要将这些数据修剪为:    time    result1    09:00   522    10:00   623    11:00   444    12:00   305    13:00   110我试过了.str.lstrip('+-')。str.rstrip('aAbBcC'),但得到一个错误:TypeError: wrapper() takes exactly 1 argument (2 given)任何指针将不胜感激!
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

data['result'] = data['result'].map(lambda x: x.lstrip('+-').rstrip('aAbBcC'))


查看完整回答
反对 回复 2019-08-16
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

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

data['result'].replace(regex=True,inplace=True,to_replace=r'\D',value=r'')


查看完整回答
反对 回复 2019-08-16
?
温温酱

TA贡献1752条经验 获得超4个赞

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

最后一个字符

data['result'] = data['result'].map(lambda x: str(x)[:-1])

前两个字符:

data['result'] = data['result'].map(lambda x: str(x)[2:])


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 758 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信