【发布时间】:2015-05-04 17:14:44
【问题描述】:
我有 2 个 Pandas DataFrame,每个包含 2 列。其中一列是时间戳列 [t],另一列包含传感器读数 [s]。
我现在想创建一个包含 4 列的单个 DataFrame,它在时间戳列上交错。
例子:
第一个数据框:
+----+----+
| t1 | s1 |
+----+----+
| 0 | 1 |
| 2 | 3 |
| 3 | 3 |
| 5 | 2 |
+----+----+
第二个数据框:
+----+----+
| t2 | s2 |
+----+----+
| 1 | 5 |
| 2 | 3 |
| 4 | 3 |
+----+----+
目标:
+----+----+----+----+
| t1 | t2 | s1 | s2 |
+----+----+----+----+
| 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 5 |
| 2 | 1 | 3 | 5 |
| 2 | 2 | 3 | 3 |
| 3 | 2 | 3 | 3 |
| 3 | 4 | 3 | 3 |
| 5 | 4 | 2 | 3 |
+----+----+----+----+
我看了一下 pandas.merge,但这给我留下了很多 NaN 和一个未排序的表。
a.merge(b, how='outer')
Out[55]:
t1 s1 t2 s2
0 0 1 NaN NaN
1 2 3 2 3
2 3 3 NaN NaN
3 5 2 NaN NaN
4 1 NaN 1 5
5 4 NaN 4 3
【问题讨论】: