【发布时间】:2016-06-19 16:13:57
【问题描述】:
我在一个列表中有大约 50 个 DataFrame,它们具有这样的形式,其中每个 DataFrame 中包含的特定日期不一定相同。
>>> print(df1)
Unnamed: 0 df1_name
0 2004/04/27 2.2700
1 2004/04/28 2.2800
2 2004/04/29 2.2800
3 2004/04/30 2.2800
4 2004/05/04 2.2900
5 2004/05/05 2.3000
6 2004/05/06 2.3200
7 2004/05/07 2.3500
8 2004/05/10 2.3200
9 2004/05/11 2.3400
10 2004/05/12 2.3700
现在,我想将这 50 个 DataFrame 合并到日期列(每个 DataFrame 中未命名的第一列),并包括 any 中存在的所有日期数据帧。如果 DataFrame 没有该日期的值,它可以只是 NaN。
一个最小的例子:
>>> print(sample1)
Unnamed: 0 sample_1
0 2004/04/27 1
1 2004/04/28 2
2 2004/04/29 3
3 2004/04/30 4
>>> print(sample2)
Unnamed: 0 sample_2
0 2004/04/28 5
1 2004/04/29 6
2 2004/05/01 7
3 2004/05/03 8
然后合并后
>>> print(merged_df)
Unnamed: 0 sample_1 sample_2
0 2004/04/27 1 NaN
1 2004/04/28 2 5
2 2004/04/29 3 6
3 2004/04/30 4 NaN
....
有没有一种简单的方法可以利用 Pandas 的 merge 或 join 函数来完成此任务?我在试图确定如何组合这样的日期时陷入了困境。
【问题讨论】: