回答編集履歴
2
d
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
df1、df2 があり、マージするキーを列 A としたとき、
|
2
2
|
`df2[~df2["A"].isin(df1["A"])]` で df2 にしか含まれていない行を抽出してから、`pd.concat()` でマージすればいいと思います。
|
3
3
|
|
4
|
+
## ある列でマージする場合
|
4
5
|
|
5
6
|
```python
|
6
7
|
import pandas as pd
|
@@ -16,4 +17,16 @@
|
|
16
17
|
# 2 3 c
|
17
18
|
# 1 4 e
|
18
19
|
# 2 5 f
|
20
|
+
```
|
21
|
+
|
22
|
+
## インデックスでマージする場合
|
23
|
+
|
24
|
+
```python
|
25
|
+
import pandas as pd
|
26
|
+
|
27
|
+
df1 = pd.DataFrame({"B": ["a", "b", "c"]}, index=[1, 2, 3])
|
28
|
+
df2 = pd.DataFrame({"B": ["d", "e", "f"]}, index=[3, 4, 5])
|
29
|
+
|
30
|
+
df = pd.concat([df1, df2[~df2.index.isin(df1.index)]])
|
31
|
+
print(df)
|
19
32
|
```
|
1
d
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
df1、df2 があり、マージするキーを列 A としたとき、
|
2
|
-
`df2[~df2["A"].isin(df1["A"])` で df2 にしか含まれていない行を抽出してから、`pd.concat()` でマージすればいいと思います。
|
2
|
+
`df2[~df2["A"].isin(df1["A"])]` で df2 にしか含まれていない行を抽出してから、`pd.concat()` でマージすればいいと思います。
|
3
3
|
|
4
4
|
|
5
5
|
```python
|