2016-09-21 18 views
3

からエンコーディングを削除:パンダ:私は、次のデータフレームを持つ文字列

str_value 
0 Mock%20the%20Week 
1 law 
2 euro%202016 

など%20%%2520として多くのそのような特殊文字がetc..How私はそれらのすべてを削除するには、があります。私は次のことを試しましたが、データフレームが大きく、そのような文字がいくつあるかわかりません。

dfSearch['str_value'] = dfSearch['str_value'].str.replace('%2520', ' ') 

dfSearch['str_value'] = dfSearch['str_value'].str.replace('%20', ' ') 

答えて

7

あなたはurllibライブラリを使用して、一連のmap方法を使用してそれを適用することができます。 例 -

In [23]: import urllib 

In [24]: dfSearch["str_value"].map(lambda x:urllib.unquote(x).decode('utf8')) 
Out[24]: 
0 Mock the Week 
1    law 
2  euro 2016 
+0

ありがとうございます。しかし、「ユーロ%25202016」を「ユーロ%202016」に変換した。これは正しいです? –

+0

あなたのコードを適用した後にもう1つの用語があります。これは 'nature%27s%20weirdest%20events'です。 –

+0

@chintans urlencodingを2回適用しましたか?この 'euro%25202016'は基本的に' euro%202016'のurlencodingです( '%'は '%25'にエンコードされたURLです)。 – Kamehameha

関連する問題