Left join and ValueError: Wrong number of items passed 55, placement implies 1
Left join and ValueError: Wrong number of items passed 55, placement implies 1
我有两个数据框
- 一大:myTradeFrame (7401x27)
- 一小块:specialsData (3x3)
specialsData 看起来像这样:
coll_cusip tran_type maturity_max
0 912810SC3 BB 1.80
1 912810SD1 BB 1.76
2 9128284V9 BB 1.08
然后代码是这样的:
myTradeFrame['NewColumn']=pd.merge(myTradeFrame, specialsData, how='left', left_on = ['coll_cusip','tran_type'], right_on=[ 'coll_cusip', 'tran_type'])
这行代码给我一个错误,即使键列存在于两个数据帧中。我错过了什么?
the error message i get is :
len(self.mgr_locs)))
ValueError: Wrong number of items passed 55, placement implies 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/apps/qtrinst/install/python/anaconda/envs/sx_anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2850, in run_ast_nodes
if self.run_code(code, result):
File "/apps/qtrinst/install/python/anaconda/envs/sx_anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2927, in run_code
self.showtraceback(running_compiled_code=True)
TypeError: showtraceback() got an unexpected keyword argument 'running_compiled_code'
基本上,myTradeFrame 中的 NewColumn 应该在交集 coll_cusip 和 tran_type
处具有列 "maturity_max" 的值
pd.merge returns 分配给单个列的数据框。
因此错误。您可以将您的代码代码替换为以下
myTradeFrame = pd.merge(myTradeFrame, specialsData, how='left', on=[ 'coll_cusip', 'tran_type'],suffixes=('_left','_right'))
提示:如果左右数据框中的键相同,只需使用 on。
我有两个数据框
- 一大:myTradeFrame (7401x27)
- 一小块:specialsData (3x3)
specialsData 看起来像这样:
coll_cusip tran_type maturity_max
0 912810SC3 BB 1.80
1 912810SD1 BB 1.76
2 9128284V9 BB 1.08
然后代码是这样的:
myTradeFrame['NewColumn']=pd.merge(myTradeFrame, specialsData, how='left', left_on = ['coll_cusip','tran_type'], right_on=[ 'coll_cusip', 'tran_type'])
这行代码给我一个错误,即使键列存在于两个数据帧中。我错过了什么?
the error message i get is :
len(self.mgr_locs)))
ValueError: Wrong number of items passed 55, placement implies 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/apps/qtrinst/install/python/anaconda/envs/sx_anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2850, in run_ast_nodes
if self.run_code(code, result):
File "/apps/qtrinst/install/python/anaconda/envs/sx_anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2927, in run_code
self.showtraceback(running_compiled_code=True)
TypeError: showtraceback() got an unexpected keyword argument 'running_compiled_code'
基本上,myTradeFrame 中的 NewColumn 应该在交集 coll_cusip 和 tran_type
处具有列 "maturity_max" 的值pd.merge returns 分配给单个列的数据框。 因此错误。您可以将您的代码代码替换为以下
myTradeFrame = pd.merge(myTradeFrame, specialsData, how='left', on=[ 'coll_cusip', 'tran_type'],suffixes=('_left','_right'))
提示:如果左右数据框中的键相同,只需使用 on。