我试图在两列(日期和符号)上合并两个数据帧(D1和R1),但是我收到此错误"You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat"
。
我一直在使用pd.merge,并且尝试了不同的dtypes。我不想将它们串联起来,因为我只想在R1的右侧添加D1。
D2 = pd.merge(D1, R2, on=['Date','Symbol'])
D1.dtypes()
Date object
Symbol object
High float64
Low float64
Open float64
Close float64
Volume float64
Adj Close float64
pct_change_1D float64
Symbol_above object
NE bool
R1.dtypes()
gvkey int64
datadate int64
fyearq int64
fqtr int64
indfmt object
consol object
popsrc object
datafmt object
tic object
curcdq object
datacqtr object
datafqtr object
rdq int64
costat object
ipodate float64
Report_Today int64
Symbol object
Date int64
理想情况下,不在R1索引(gvkey-Report_Today)中的列将在D1中的列的右侧。
感谢您的帮助。谢谢。
答案 0 :(得分:2)
在您对DataFrames的描述中,我们可以看到,
在D1 DataFrame列中,日期类型为“对象”
在R1 DataFrame列中,日期类型为“ int64”。
使这些列的类型相同,一切都会好的。