如何在同一数据帧中加入和应用?

2024-05-23 18:00:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,看起来像这样:

|--------|---------|----------------|
|   ID   |  Value  |  AssociatedID  |
|--------|---------|----------------|
|    1   |   Val 1 |      3         |
|--------|---------|----------------|
|    2   |   Val 2 |      4         |
|--------|---------|----------------|
|    3   |         |                |
|--------|---------|----------------|
|    4   |         |                |
|--------|---------|----------------|

我想要的输出是

|--------|---------|----------------|
|   ID   |  Value  |  AssociatedID  |
|--------|---------|----------------|
|    1   |   Val 1 |      3         |
|--------|---------|----------------|
|    2   |   Val 2 |      4         |
|--------|---------|----------------|
|    3   |   Val 1 |                |
|--------|---------|----------------|
|    4   |   Val 2 |                |
|--------|---------|----------------|

所以基本上我想在关联的ID和ID字段之间进行连接,并应用该值

我做这件事的基本方法是

for id in df['AssociatedID'].unique.tolist():
    valueToApply = df.loc[df['AssociatedID'] == id]["ID"].values
    df.loc[(df['ID'] == id) , "Value"] = valueToApply 

我希望我能使用某种熊猫一号班轮来实现这一点。对熊猫最好的方法是什么?有单行代码吗


Tags: 数据方法iniddfforvalueval