首页 > 解决方案 > 删除列中的部分值

问题描述

假设我b在 dataframe 中有列df。b 列看起来像,

b
c'ASD56y'
c'DSAD89y'
c'FGTH89y'

我需要从 b 列中删除单引号和 c 我需要像这样的输出,

 b
    ASD56y
    DSAD89y
    FGTH89y

这是我尝试过的,

 df.b.apply(lambda x: x.strip('c'))

将错误抛出为: TypeError: a bytes-like object is required, not 'str'

任何建议将不胜感激。

标签: pythonpandasdataframelambda

解决方案


我觉得split可以

df.b.str.split("'").str[1]
Out[93]: 
0     ASD56y
1    DSAD89y
2    FGTH89y
Name: b, dtype: object
df.b=df.b.str.split("'").str[1]

根据下面的评论,问题变成了encode\decode

df['b'].str.decode('utf-8')

推荐阅读