2017-10-11 206 views
1

我有一個從SDSS數據庫中取得的數據框。示例數據在這裏。從熊貓數據框的字符串列中刪除b''

img

我想從data['class']刪除字符 'B'。我試過

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

但是我沒有得到結果。

+0

有**沒有'b'字符** –

+0

請不要張貼截圖。他們真的沒有幫助。相反,用簡單的命令共享數據:df.head()。to_dict()爲例。 -1 –

回答

5

您正在處理字節字符串。你可能會考慮str.decode

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

是的,它正在工作。非常感謝 –

+0

@JohnSingh太棒了。考慮[粉碎接受按鈕](https://stackoverflow.com/help/someone-answers)。 –

+1

@cᴏʟᴅsᴘᴇᴇᴅ我爲你砸了那個向上的箭。 –

1

進一步解釋:

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')) 
相關問題