• 【数据分析&数据挖掘】pandas数据合并


     1 import pandas as pd
     2 
     3 # 加载数据
     4 data_1 = pd.read_excel("./concat合并数据.xlsx", sheetname=0)
     5 data_2 = pd.read_excel("./concat合并数据.xlsx", sheetname=1)
     6 
     7 print("data_1: 
    ", data_1)
     8 print("data_2: 
    ", data_2)
     9 
    10 # 外连接——求并集
    11 # 内链接——求交集
    12 # 左(外)链接——以左表为主求并集
    13 # 右(外)链接——以右表为主求并集
    14 
    15 # 直接拼接方式——pd.concat()
    16 # axis=0, 外连接——行上直接拼接,列上求并集
    17 res = pd.concat((data_1, data_2), axis=0, join="outer")
    18 # axis = 0, 内连接——行上直接拼接,列上求交集
    19 # res = pd.concat((data_1, data_2), axis=0, join="inner")
    20 
    21 # axis = 1, 外连接——列上直接拼接,行上求并集
    22 # res = pd.concat((data_1, data_2), axis=1, join="outer")
    23 # axis = 1, 内连接——列上直接拼接,行上求交集
    24 # res = pd.concat((data_1, data_2), axis=1, join="inner")
    25 print("res: 
    ", res)
    26 
    27 # 主键拼接方式
    28 # 加载数据
    29 left = pd.read_excel("./主键拼接数据.xls", sheetname=0)
    30 right = pd.read_excel("./主键拼接数据.xls", sheetname=1)
    31 print("left: 
    ", left)
    32 print("right: 
    ", right)
    33 
    34 # 主键拼接
    35 # 外连接——将所有的key进行拼接, 如果没有补NaN
    36 res = pd.merge(left=left, right=right, on="key", how="outer")
    37 # 内链接——将共同所有的key进行拼接
    38 res = pd.merge(left=left, right=right, on="key", how="inner")
    39 # 左外连接——将左表所有的key进行拼接,右表来配合坐标,如果右表没有key补NaN
    40 res = pd.merge(left=left, right=right, on="key", how="left")
    41 # 右外连接——将右表所有的key进行拼接,右表来配合坐标,如果右表没有key补NaN
    42 res = pd.merge(left=left, right=right, on="key", how="right")
    43 print("res: 
    ", res)
    44 
    45 # 加载数据
    46 left = pd.read_excel("./主键拼接数据_同值不同key.xls", sheetname=0)
    47 right = pd.read_excel("./主键拼接数据_同值不同key.xls", sheetname=1)
    48 
    49 print("left: 
    ", left)
    50 print("right: 
    ", right)
    51 
    52 # 将坐标中的key_left与右表中的key_right的所有值来进行左右拼接,如果只单独存在于一方,另一方补NaN
    53 res = pd.merge(left=left, right=right, left_on="key_left", right_on="key_right", how="outer")
    54 # 将坐标中的key_left与右表中的key_right共同拥有的key值进行左右拼接
    55 res = pd.merge(left=left, right=right, left_on="key_left", right_on="key_right", how="inner")
    56 # 将左表中的key_left中所有的key进行左右连接, 右表配合左表, 如果没有相同的Key_right值,补NaN
    57 res = pd.merge(left=left, right=right, left_on="key_left", right_on="key_right", how="left")
    58 # 将左表中的key_right中所有的key进行左右连接, 左表配合右表, 如果没有相同的Key_left值,补NaN
    59 res = pd.merge(left=left, right=right, left_on="key_left", right_on="key_right", how="right")
    60 print("res: 
    ", res)
    61 
    62 # left.join()
    63 # df1.join(df2)
  • 相关阅读:
    postgreSQL官网对json的一些说明
    postgreSQL_jsonb中某一个键值对的修改操作
    redis基础
    failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
    012、时间、日期控件
    011、AutoCompleteTextView控件,具有自动提示功能的菜单
    010、Spinner使用
    009、使用ViewFlipper实现左右滑动事件
    008、不同程序的彼此调用
    007、判断手机操作系统是否允许运行程序
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12116049.html
Copyright © 2020-2023  润新知