[英]Pandas: New column based on values of two other columns
我有兩列,一列帶有舊 ID 號(b 列),另一列帶有新 ID 號(a)。 鑒於我在 a 和 c 中的信息,我想找出與舊 ID 號對應的名稱 (c)。
# Example dataset
print(df1)
# output
a b c
4 5 John
5 19 Joanna
1 4 Jenna
19 10 Jane
10 66 Johnna
16 16 JoJo
我想要達到的目標:
print(df2)
# output
b d
5 Joanna
19 Jane
4 John
10 Johnna
66 na
16 JoJo
df['d'] = df['b'].map(dict(df[['a', 'c']].to_numpy()))
這是一個自我加入。
df = pd.read_csv(io.StringIO("""a b c
4 5 John
5 19 Joanna
1 4 Jenna
19 10 Jane
10 66 Johnna
16 16 JoJo"""), sep="\s+")
df.merge(df, left_on="b", right_on="a").loc[:,["b_x","c_y"]].rename(columns={"b_x":"b","c_y":"c"})
b | c | |
---|---|---|
0 | 5 | 喬安娜 |
1 | 19 | 簡 |
2 | 4 | 約翰 |
3 | 10 | 約翰娜 |
4 | 16 | 喬喬 |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.