Python 如何在ValueError中混合多个数据帧
在使用Anaconda3 Spyder的熊猫中,我正在运行以下数据帧合并练习: 我有两个数据帧,结构如下:Python 如何在ValueError中混合多个数据帧,python,pandas,merge,Python,Pandas,Merge,在使用Anaconda3 Spyder的熊猫中,我正在运行以下数据帧合并练习: 我有两个数据帧,结构如下: aur.columns ['Date','No','Clos'] bal.columns ['Date','No','Clos'] 两者都是数据帧 我需要将它们合并到另一个具有相同结构的数据帧中: merg.columns ['Date','No','Clos'] 它们之间的公共列是“日期”,因此合并应在此列中进行: aur Date No Clos
aur.columns
['Date','No','Clos']
bal.columns
['Date','No','Clos']
两者都是数据帧
我需要将它们合并到另一个具有相同结构的数据帧中:
merg.columns
['Date','No','Clos']
它们之间的公共列是“日期”,因此合并应在此列中进行:
aur
Date No Clos
11/12/2017 21 314
2/1/2016 12 766
bal
Date No Clos
1/1/15 4 3432
2/3/12 33 3123
数据中需要注意的关键是,“日期”列中可能有一些日期,这些日期可能在bal中,但在aur中不存在,反之亦然。
因此,在合并两个数据帧时,还必须处理两个数据帧中缺少的关键点。合并NaN时,应将其替换为0
当我使用以下代码时,会出现ValueError:
result = pd.merge(aur.Close, bal.Close, on='Date')
ValueError: can not merge DataFrame with instance of type <cla ss
'pandas.core.series.Series'>
result=pd.merge(aur.Close,bal.Close,on='Date')
ValueError:无法将DataFrame与类型的实例合并
因此合并没有发生,并给出了上述错误
非常感谢您的回答。愿最棒的人获胜 我认为您需要将
数据帧
合并为两列-关闭
和日期
,因此在数据帧
中选择这两列,然后合并
:
还有两种格式的日期时间为字符串
,因此,对于相同的类型
,首先将它们转换为日期时间
aur['Date'] = pd.to_datetime(aur['Date'])
bal['Date'] = pd.to_datetime(bal['Date'])
result = pd.merge(aur[['Close', 'Date']], bal[['Close', 'Date']], on='Date')
如果使用:
result = pd.merge(aur.Close, bal.Close, on='Date')
然后尝试与列合并
Close
(Series
)并得到错误。让我试试,结果会很快发布是的,它有效这是正确的答案。非常感谢你的帮助。我本想提醒@PuneetMathur接受答案,但我发现他之前已经接受了答案。。。所以他知道自己在做什么(-:@piRSquared-谢谢你。@jezrael系统不允许你现在接受答案,要等15分钟才能接受。