我正在尝试合并不同的数据框。
假设这两个人融化了dataframes
。
melted_dfs[0]
=
Date Code delta_7
0 2014-04-01 GWA 0.08
1 2014-04-02 TVV -0.98
melted_dfs[1] =
Date Code delta_14
0 2014-04-01 GWA nan
1 2014-04-02 XRP -1.02
我希望将上述两个数据框与来自我的基础volume
的{{1}}和GR
列一起合并。
dataframe
base_df =
我试图通过将所有数据帧转换为列表来使用Python内置的 Date Code Volume GR
0 2014-04-01 XRP 74,776.48 482.76
1 2014-04-02 TRR 114,052.96 460.19
函数,但会引发错误
reduce
abt = reduce(lambda x,y: pd.merge(x,y,on=['Date', 'Code']), feature_dfs)
# feature_dfs is a list which contains all the above dfs.
感谢您的帮助。谢谢!
答案 0 :(得分:1)
您在feature_dfs
中的一个数据框可能具有非datetime dtype。
答案 1 :(得分:1)
这应该有效,因为它指出df的某些日期不是datetime格式
feature_dfs=[x.assign(Date=pd.to_datetime(x['Date'])) for x in feature_dfs]
abt = reduce(lambda x,y: pd.merge(x,y,on=['Date', 'Code']), feature_dfs)
答案 2 :(得分:1)
尝试打印数据帧的数据类型和索引:
for i, df in enumerate(feature_dfs):
print 'DataFrame index: {}'.format(str(i))
print df.info()
print '-'*72
我认为其中一个DataFrames将显示如下一行:
Date X non-null object
表示您没有Date日期的数据类型。该DataFrame是元凶,您将获得上面打印的索引。