📜  如何合并具有不同键的数据框 - Python (1)

📅  最后修改于: 2023-12-03 14:52:11.476000             🧑  作者: Mango

如何合并具有不同键的数据框 - Python

在数据分析中,经常会遇到需要将具有不同键的数据框合并到一起的情况。Python的pandas库提供了多种合并数据框的函数和方法。在本篇文章中,我们将介绍如何合并具有不同键的数据框。

操作步骤
  1. 导入pandas库

    import pandas as pd
    
  2. 创建两张数据框

    df1 = pd.DataFrame({
        'key': ['A', 'B', 'C', 'D'],
        'value1': [1, 2, 3, 4],
    })
    
    df2 = pd.DataFrame({
        'key': ['B', 'D'],
        'value2': [5, 6],
    })
    

    数据框df1:

    | key | value1 | | ---- | ------ | | A | 1 | | B | 2 | | C | 3 | | D | 4 |

    数据框df2:

    | key | value2 | | ---- | ------ | | B | 5 | | D | 6 |

  3. 内连接合并

    内连接合并是指合并后只保留两张数据框中都出现过的关键字。

    df3 = pd.merge(df1, df2, on='key', how='inner')
    

    合并后的数据框df3:

    | key | value1 | value2 | | ---- | ------ | ------ | | B | 2 | 5 | | D | 4 | 6 |

  4. 左连接合并

    左连接合并是指以左边的数据框为主,将右边的数据框合并在左边的数据框中。如果右边的数据框中的关键字在左边的数据框中没有出现过,那么在合并后的数据中,右边的数据框将会出现缺失值NULL。

    df4 = pd.merge(df1, df2, on='key', how='left')
    

    合并后的数据框df4:

    | key | value1 | value2 | | ---- | ------ | ------ | | A | 1 | NULL | | B | 2 | 5 | | C | 3 | NULL | | D | 4 | 6 |

  5. 右连接合并

    右连接合并是指以右边的数据框为主,将左边的数据框合并在右边的数据框中。如果左边的数据框中的关键字在右边的数据框中没有出现过,那么在合并后的数据中,左边的数据框将会出现缺失值NULL。

    df5 = pd.merge(df1, df2, on='key', how='right')
    

    合并后的数据框df5:

    | key | value1 | value2 | | ---- | ------ | ------ | | B | 2 | 5 | | D | 4 | 6 |

  6. 外连接合并

    外连接合并是指合并后保留两张数据框中所有出现过的关键字,并在缺失值处填充NULL。

    df6 = pd.merge(df1, df2, on='key', how='outer')
    

    合并后的数据框df6:

    | key | value1 | value2 | | ---- | ------ | ------ | | A | 1 | NULL | | B | 2 | 5 | | C | 3 | NULL | | D | 4 | 6 |

总结

通过以上的介绍,我们了解了Python中如何合并具有不同键的数据框。pandas库内建立了多个函数和方法,分别适用于不同的合并方式。在实际应用中,我们需要根据不同的需求选择恰当的合并方式。