簡體   English   中英

Pandas:基於其他兩列值的新列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM