繁体   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