pandas数据框的合并操作 | 您所在的位置:网站首页 › pandas增加行 › pandas数据框的合并操作 |
以下内容参考: 无欢不散:7000字整理: 全网最详细Pandas合并数据集操作总结 仅选择常用的操作(以及个人的理解)作为笔记: 1 按照行或列索引合并数据框:contact、append和joinpd.concat( objs, axis=0, join="outer", ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True, ) # 关键参数: # objs:需要用来进行合并的数据集,可以是Series类型或者是DataFrame类型的数据 # axis:可以理解为是合并的方向,默认是0 # join:可以理解为是合并的方式,有并集或是交集两种方式,默认的是并集 # ignore_index:忽略索引,默认是False # keys:用于做行方向的多重索引1.1 增加数据框的行(按照 两个数据框的列索引 合并数据框)如果列名不同则生成新列 df1 = pd.DataFrame( { "A": ["A0", "A1", "A2", "A3"], "B": ["B0", "B1", "B2", "B3"], "C": ["C0", "C1", "C2", "C3"], "D": ["D0", "D1", "D2", "D3"], } ) df2 = pd.DataFrame( { "A": ["A4", "A5", "A6", "A7"], "B": ["B4", "B5", "B6", "B7"], "C": ["C4", "C5", "C6", "C7"], "D": ["D4", "D5", "D6", "D7"], } ) df3 = pd.DataFrame( { "A": ["A8", "A9", "A10", "A11"], "B": ["B8", "B9", "B10", "B11"], "C": ["C8", "C9", "C10", "C11"], "D": ["D8", "D9", "D10", "D11"], } ) print(df1) print(df2) print(df3) # 方法1 frames = [df1, df2, df3] result = pd.concat(frames) result.index = range(len(result)) print(result) # 方法2 result = df1.append(df2) print(result) result = df1.append([df2, df3]) print(result)注意:列名必须一样 left = pd.DataFrame( { "key": ["K0", "K1", "K2", "K3"], "A": ["A0", "A1", "A2", "A3"], "B": ["B0", "B1", "B2", "B3"], } ) right = pd.DataFrame( { "key": ["K0", "K1", "K2", "K3"], "C": ["C0", "C1", "C2", "C3"], "D": ["D0", "D1", "D2", "D3"], } ) result = pd.merge(left, right, on="key") result基于left数据框合并 result = pd.merge(left, right, how="left", on=["key1", "key2"]) result基于right数据框合并 result = pd.merge(left, right, how="right", on=["key1", "key2"]) result基于outer合并数据框 result = pd.merge(left, right, how="outer", on=["key1", "key2"]) result基于inner合并数据框 result = pd.merge(left, right, how="inner", on=["key1", "key2"]) result |
CopyRight 2018-2019 实验室设备网 版权所有 |