删除b''来自pandas数据帧中的字符串列

时间:2017-10-11 20:07:22

标签: python string pandas dataframe

我有一个从SDSS数据库中获取的数据框。示例数据在这里。

img

我想删除字符' b'来自data['class']。我试过了

data['class'] = data['class'].replace("b','')

但我没有得到结果。

2 个答案:

答案 0 :(得分:6)

您正在使用字节字符串。您可以考虑str.decode

data['class'] = data['class'].str.decode('utf-8') 

答案 1 :(得分:2)

进一步解释:

df = pd.DataFrame([b'123']) # create dataframe with b'' element

现在我们可以致电

df[0].str.decode('utf-8') # returns a pd.series applying decode on str succesfully
df[0].decode('utf-8') # tries to decode the series and throws an error

基本上你正在使用.str()将它应用于所有元素。它也可以这样写:

df[0].apply(lambda x: x.decode('utf-8'))