[問題] Python2 unicode轉日文

看板Python作者 (消費券收購商)時間8年前 (2017/06/05 14:55), 編輯推噓4(402)
留言6則, 3人參與, 最新討論串1/3 (看更多)
想請問各位一下, 近日我正在使用日文進行text clustering, 但當我將日文字/詞轉換成dictionary之後, dictionary key就變成unicode而非日文, 請問該如何解決此問題? Code 如下: ## load data allWrdMat10 = pd.read_csv("../../data/allWrdMat10.csv.gz", encoding='CP932') ## Set X as CSR Sparse Matrix X = np.array(allWrdMat10) X = sp.csr_matrix(X) ## create dictionary dict_index = {t:i for i,t in enumerate(allWrdMat10.columns)} freqrank = np.array(dict_index.values()).argsort() X_transform = X[:, freqrank < 1000].transpose().toarray() ################################################################## 若輸入 allWrdMat10.columns 仍會顯現日文,如下: Index([u'?', u'.', u'・', u'%', u'0', u'1', u'10月', u'11月', u'12月', u'1つ', ... u'瀋陽', u'疆', u'盧', u'籠', u'絆', u'胚', u'諫早', u'趙', u'鉉', u'鎔基'], dtype='object', length=8655) 但若輸入 dict_index.keys() 時,則會變成unicode: [u'\u77ed\u9283', u'\u5efa\u3066', u'\u4f0a', u'\u5e73\u5b89', u'\u6025\u9a30', u'\u897f\u65e5\u672c', u'\u5e03\u9663', ...] 請問各位高手該如何解決此一問題?謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 168.150.122.10 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1496645718.A.A51.html

06/05 19:23, , 1F
我之前也碰過python2的字典key如果不是英文或數字就會這
06/05 19:23, 1F

06/05 19:23, , 2F
樣,網路上好像沒有比較好的解法。
06/05 19:23, 2F

06/05 21:16, , 3F
先.encode('utf8'),再.decode('utf8'),試試看。
06/05 21:16, 3F

06/05 21:23, , 4F
3.0以上只要使用str即可,str(dict_index.keys())
06/05 21:23, 4F

06/05 21:36, , 5F
2 的編碼顯示問題...還是早早換到 3 吧
06/05 21:36, 5F

06/05 23:30, , 6F
06/05 23:30, 6F
文章代碼(AID): #1PDG1MfH (Python)
文章代碼(AID): #1PDG1MfH (Python)