我从两个excel中读取数据生成两个dataframe并合并,其中一个df有三列,另一个df有两列。我用merge,concat,join方法都报列数错误。
///
salesdf = pd.read_sql(sql,conn)
salesdf.columns=['Date','sh_code','orig_sales']
# sales_comp=pd.merge(salesdf,salesdata,how='left',on=['sh_code'])
# sales_comp=pd.concat([salesdf,salesdata],axis=1)
salesall=salesdf['SAP_sh_code','SAP_sales']=salesdata['sh_code','orig_sales']
salesdata.columns=['sh_code','orig_sales']
///
error:
File "C:\Users\tony_chun\Anaconda3\lib\site-packages\pandas\core\generic.py", line 5152, in __setattr__
return object.__setattr__(self, name, value)
File "pandas\_libs\properties.pyx", line 66, in pandas._libs.properties.AxisProperty.__set__
File "C:\Users\tony_chun\Anaconda3\lib\site-packages\pandas\core\generic.py", line 564, in _set_axis
self._mgr.set_axis(axis, labels)
File "C:\Users\tony_chun\Anaconda3\lib\site-packages\pandas\core\internals\managers.py", line 226, in set_axis
raise ValueError(
ValueError: Length mismatch: Expected axis has 1 elements, new values have 2 elements
你这个是长度不一致,感觉你的代码有点怪。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m