【发布时间】:2019-01-27 00:01:30
【问题描述】:
假设我有两个 pandas DataFrame,X 和 Y:
X =
+---+----------+---------+
| | Value1 | Value2 |
+---+----------+---------+
| A | 1 | NaN |
| B | 0 | 0 |
+---+----------+---------+
Y =
+---+----------+---------+
| | Value1 | Value2 |
+---+----------+---------+
| A | 2 | NaN |
| C | 30 | NaN |
+---+----------+---------+
我想根据索引(行名)合并/加入它们,结果如下:
+---+----------+---------+
| | Value1 | Value2 |
+---+----------+---------+
| A | 1 | 2 |
| B | 0 | 0 |
| C | 30 | NaN |
+---+----------+---------+
使用合并和“外部”,结果表每个表都有列,而不仅仅是连接。我需要一些将新行追加到末尾的东西,但也需要为匹配的索引追加新列。
这是“外部”合并的结果:
+---+----------+---------+----------+---------+
| | Value1_X | Value2_X| Value1_Y | Value2_Y|
+---+----------+---------+----------+---------+
| A | 1 | NaN | 2 | NaN |
| B | 0 | 0 | NaN | NaN |
| C | NaN | NaN | 30 | NaN |
+---+----------+---------+----------+---------+
这几乎是我想要的,但忽略了原始列标签...
【问题讨论】:
-
将 Y 附加到 X,然后删除重复项。
-
这会让我得到两行索引为 A,一个值为 1,另一个值为 2,对吗?
-
好的。我现在看到你的问题了。那么,告诉我,如果在 X 中:索引 A 的值为 1、1 会怎样。在这种情况下输出应该如何?
-
最后一个问题。那2在哪一列?列“Value1”还是“Value2”?
-
这将是“Value1_Y”,甚至可能是“Value 3”。我想我现在更好地看到了这个问题..
标签: python-2.7 pandas join merge