2017-05-05 181 views
2

我正在做一些網頁掃描,並希望刪除部分字符串。熊貓字符串替換錯誤Python

PlayerDataHeadings = soup.select(".auflistung th") 
PlayerDataItems = soup.select(".auflistung td") 

    PlayerData = pd.DataFrame(
     {'PlayerDataHeadings': PlayerDataHeadings, 
     'PlayerDataItems': PlayerDataItems 
     }) 

上面的代碼創建一個數據框並按預期工作。在'PlayerDataHeadings'列中,在開始處有一個不需要的<th>,在我想要移除的每個值的末尾有</th>

我使用的代碼是:

PlayerData['PlayerDataHeadings'].replace(
    to_replace['<th>', ':</th>'], 
    value='', 
    inplace=True 
    ) 

這將返回 「NameError:名字 'to_replace' 沒有定義」 的錯誤。

to_replace= 

或省略的關鍵字,並添加regex=True

PlayerData['PlayerDataHeadings'].replace(['<th>', ':</th>'], '', inplace=True, regex=True) 

樣品

就如何解決這一問題或更好的選擇將是巨大的

回答

0

看來你錯過=有什麼想法:

PlayerData = pd.DataFrame({'PlayerDataHeadings':['<th>a:</th>','g']}) 
print (PlayerData) 
    PlayerDataHeadings 
0  <th>a:</th> 
1     g 
    PlayerDataHeadings 

PlayerData['PlayerDataHeadings'].replace(['<th>', ':</th>'], '', inplace=True, regex=True) 
print (PlayerData) 
    PlayerDataHeadings 
0     a 
1     g 

與所有關鍵字:

PlayerData['PlayerDataHeadings'].replace(to_replace=['<th>', ':</th>'], 
             value='', 
             inplace=True, 
             regex=True) 
print (PlayerData) 
    PlayerDataHeadings 
0     a 
1     g 
+0

感謝jezrael,當我運行您的示例代碼工作,但是當我在我的腳本中運行它不會取代的人物,但也不會返回錯誤。 任何想法或想法爲什麼? – DenJJ

+0

難以發現沒有數據的問題。但似乎你不能代替,因爲有些區別。如果數據不確定,可以創建[pickle](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_pickle.html)文件 - 'PlayerData.to_pickle('file.pkl ')'並將其發送到我的個人資料中的電子郵件? – jezrael