首页 > 其他 > 详细

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

时间:2019-12-29 21:33:25      阅读:90      评论:0      收藏:0      [点我收藏+]
 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: \n", data_1)
 8 print("data_2: \n", 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: \n", res)
26 
27 # 主键拼接方式
28 # 加载数据
29 left = pd.read_excel("./主键拼接数据.xls", sheetname=0)
30 right = pd.read_excel("./主键拼接数据.xls", sheetname=1)
31 print("left: \n", left)
32 print("right: \n", 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: \n", 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: \n", left)
50 print("right: \n", 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: \n", res)
61 
62 # left.join()
63 # df1.join(df2)

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

原文:https://www.cnblogs.com/Tree0108/p/12116049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!