2017-08-24 56 views
0

我得到了經典的手抄本編碼錯誤:從下面的代碼Panda.str.contains用ASCII碼編解碼器編碼錯誤

UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-12: ordinal not in range(128) 

def compare_handles(handle): 
    new_df = df[df['Creation Specifications'].astype(str).str.contains(handle)] 

初始數據幀來自一個excel文件,該列包含字符串,特殊字符和超鏈接。直到我添加了astype(str)之前,我在這條線上遇到了最初的問題。但是,進一步在代碼中拋出這個錯誤。

我的問題是我如何編碼到一個更好的代碼,當我不得不使用str.contains函數?鑑於此問題的基礎知識documentation,關鍵是要刪除str部分並添加編碼。但是,因爲我使用的是包含熊貓的函數,所以它不可能「只是放棄str」。

我可以創建一個映射,但我想知道是否有更清晰的答案。

注意:我曾嘗試在上面的代碼行中使用編碼utf-8和拉丁語的每一個可能的位置。

回答

0

你可以雙倍大熊貓系列。

new_df = complete_df[complete_df['Creation Specifications'].str.encode('utf-8', errors='ignore').str.contains(handle)] 
相關問題