[英]Pandas Merging on two columns
我是 pandas 的新手,想在兩列的幫助下合並兩個表。 一行只能通過兩列的組合來識別。
Example:
Table 1. Table2.
Index A B C D. Index A B C
1. a a c d. 1. a b j
2. a b e f. 2. a c k
3. a c g h
Result:
Table
Index A B C D E
1. a a c d na
2. a b e f j
3. a c g h k
I tried something like:
df_new = df_1.merge(df_2, on=[‘A’,’B’]
但我得到錯誤 B 不是唯一的
(在實際情況下,該表多次包含 a 和 b 中的每個值,但組合是唯一的。)
提前謝謝了。
先拿你想試驗的庫侖,然后用這段代碼作為例子。
a_dataframe["AB"] = a_dataframe["A"] + a_dataframe["B"]
然后加上庫侖的rest。 可能有一個更簡單的解決方案。
就我而言,它有效:
import pandas as pd
df1 = pd.DataFrame({"A":["a","a","a"],
"B":["a", "b", "c"],
"C":["c", "e", "g"],
"D":["d", "f", "h"]})
df2 = pd.DataFrame({"A":["a", "a"],
"B":["b", "c"],
"C":["j", "k"]})
Output:
pd.merge(df1, df2, on=["A", "B"], how="left").rename(columns={"C_x":"C", "C_y":"E"})
A B C D E
0 a a c d NaN
1 a b e f j
2 a c g h k
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.