我有一個從SDSS數據庫中取得的數據框。示例數據在這裏。從熊貓數據框的字符串列中刪除b''
我想從data['class']
刪除字符 'B'。我試過
data['class'] = data['class'].replace("b','')
但是我沒有得到結果。
我有一個從SDSS數據庫中取得的數據框。示例數據在這裏。從熊貓數據框的字符串列中刪除b''
我想從data['class']
刪除字符 'B'。我試過
data['class'] = data['class'].replace("b','')
但是我沒有得到結果。
您正在處理字節字符串。你可能會考慮str.decode
:
data['class'] = data['class'].str.decode('utf-8')
是的,它正在工作。非常感謝 –
@JohnSingh太棒了。考慮[粉碎接受按鈕](https://stackoverflow.com/help/someone-answers)。 –
@cᴏʟᴅsᴘᴇᴇᴅ我爲你砸了那個向上的箭。 –
進一步解釋:
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'))
有**沒有'b'字符** –
請不要張貼截圖。他們真的沒有幫助。相反,用簡單的命令共享數據:df.head()。to_dict()爲例。 -1 –