u'가' u'나'
0
1
...
A B
0
1
...
有兩個像上面這樣的數據框,分別叫做'left'和'right'。我試着像下面的代碼合併。關鍵(unicode列名)錯誤合併
result = pandas.merge(left, right, how='left', left_on=[u'가'], right_on=['A'])
但不幸的是,發生了錯誤。看來大熊貓合併left(right)_on = key功能無法識別unicode列名。
File "?.py", line ?, in merger
pandas.merge(left, right, how='left', left_on=[u'가'], right_on=['A'])
File "C:\Anaconda\lib\site-packages\pandas\tools\merge.py", line 37, in merge
copy=copy)
File "C:\Anaconda\lib\site-packages\pandas\tools\merge.py", line 183, in __init__
self.join_names) = self._get_merge_keys()
File "C:\Anaconda\lib\site-packages\pandas\tools\merge.py", line 352, in _get_merge_keys
left_keys.append(left[lk].values)
File "C:\Anaconda\lib\site-packages\pandas\core\frame.py", line 1797, in __getitem__
return self._getitem_column(key)
File "C:\Anaconda\lib\site-packages\pandas\core\frame.py", line 1804, in _getitem_column
return self._get_item_cache(key)
File "C:\Anaconda\lib\site-packages\pandas\core\generic.py", line 1084, in _get_item_cache
values = self._data.get(item)
File "C:\Anaconda\lib\site-packages\pandas\core\internals.py", line 2851, in get
loc = self.items.get_loc(item)
File "C:\Anaconda\lib\site-packages\pandas\core\index.py", line 1572, in get_loc
return self._engine.get_loc(_values_from_object(key))
File "pandas\index.pyx", line 134, in pandas.index.IndexEngine.get_loc (pandas\index.c:3824)
File "pandas\index.pyx", line 154, in pandas.index.IndexEngine.get_loc (pandas\index.c:3704)
File "pandas\hashtable.pyx", line 686, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12280)
File "pandas\hashtable.pyx", line 694, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12231)
KeyError: u'\uac00'
以前有人遇到過這種錯誤嗎?如果是這樣,請讓我知道,並給我你的提示。
只是出於好奇才做了以下工作:'result = pandas.merge(left,right,how ='left',left_on = left.columns [0],right_on = right.columns [0])'? – EdChum
你是對的。對不起每個人都感到困惑。在我看來,但不是unicode問題。這僅僅是因爲我在_groupby_之後嘗試了_merge_。 http://stackoverflow.com/a/24980809/3054161 – su79eu7k
請發表回答,並接受它,所以這個問題並不會得到答覆,謝謝 – EdChum