从列中的字符串中删除不需要的部分我正在寻找一种有效的方法来从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'))
江户川乱折腾
TA贡献1851条经验 获得超5个赞
我使用pandas替换功能,非常简单和强大,因为你可以使用正则表达式。下面我使用正则表达式\ D来删除任何非数字字符,但显然你可以使用正则表达式获得相当的创意。
data['result'].replace(regex=True,inplace=True,to_replace=r'\D',value=r'')
温温酱
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:])
添加回答
举报
0/150
提交
取消