猿问

如何使用优先键在两个键上加入熊猫数据帧?

我怎么能左连接两只大熊猫dataframes( df1,df2上的两个键() ,bla1),bla2其中的bla2关键应该何时使用,它不是空(见最后两行df1)?


伪代码


如果bla2不为NULL,然后再加入bla上bla2


其他参加bla的bla1


数据帧


df1


| bla1 | bla2 | a   | b   |

|------|------|-----|-----|

| 1    |      | ... | ... |

| 2    |      | ... | ... |

| 3    |      | ... | ... |

| 4    | 7    | ... | ... |

| 5    | 8    | ... | ... |

+ df2


| bla | x   | y   | z   |

|-----|-----|-----|-----|

| 1   | ... | ... | ... |

| 2   | ... | ... | ... |

| 3   | ... | ... | ... |

| 7   | ... | ... | ... |

| 8   | ... | ... | ... |

= df3


| bla1 | bla2 | a   | b   | x   | y   | z   |

|------|------|-----|-----|-----|-----|-----|

| 1    |      | ... | ... | ... | ... | ... |

| 2    |      | ... | ... | ... | ... | ... |

| 3    |      | ... | ... | ... | ... | ... |

| 5    | 7    | ... | ... | ... | ... | ... |

| 4    | 8    | ... | ... | ... | ... | ... |


HUH函数
浏览 161回答 1
1回答

拉风的咖菲猫

首先创建一个新列来合并两列。df1["new_column"] = df1.bla2.fillna(df1.bla1);然后加入两个框架并删除额外创建的列。df3 = pd.merge(df1, df2, how="inner", left_on="new_column", right_on="bla").drop(["new_column", "bla"], axis=1)
随时随地看视频慕课网APP

相关分类

Python
我要回答