2016-08-26 20 views
2

パンダとPythonの新機能で、データフレーム全体の中で複数のユニコード文字を置き換えることに疑問があります。 Python 2.7を使用し、Excelシートからインポートする。私の望みは、ASCII以外のすべての文字をASCIIの同等または無の文字に置き換えることです。パンダのデータフレームの置き換え

例:GRAND u2013
u'SHOGUN JAPANESE \ '
u'COMFORT INN & SUITES \ xa0STONEマウンテン'

これは動作しますが、面倒です:

rawdf = rawdf["Account_Name"].str.upper().str.replace(u'\u2013', ' ').str.replace(u'\xa0', '-') + "|" + rawdf["COID"].str.upper() 

これは動作しませんでした:

rawdf = rawdf.replace(u'\u2013', ' ') 

答えて

1

次のようにエンコード/デコードサイクルを実行できます。

rawdf["Account_Name"].str..encode('ascii', 'ignore').str.decode('ascii') 

'ignore'を使用すると、asciiで表現できない文字が削除されます。中間表現はバイトなので、再び文字列にエンコードする必要があります。

+0

提案していただきありがとうございますが、今は無視されたため、あなたが言及している文字は削除されました。私は実際に交換する必要があります。ダウンストリームプロセスは、raw_set_1とclean_set_2を比較して、私に違いを与える必要があります。現在のところ、これらのユニークな文字が原因です。他の考え? – Sean

+0

あなたは代わりに '置換'を使うことができます。これは文字の位置を保持し、それを "?"で埋めるものです。 – mdurant

関連する問題