一、concat “拼接”
df = pd.concat([df1, df2], axis = 0, ignore_index = False, join = "outer
axis:指的是拼接的方向。axis = 0指的是拼接行(向下拼接),axis = 1指的是拼接列(向右拼接)。
ignore_index: 指的是拼接后是否忽视原df各自的索引。比如,假如我们按行拼接,原来df1和df2中各有五条数据,索引是0,1,2,3,4。
ignore_index=False,那么拼接后df的索引就是0,1,2,3,4,0,1,2,3,4。
ignore_index=True, 那么拼接后df的索引就是0,1,2,3,4,5,6,7...
join:表示“如何拼接”。其中,outer表示取并集,inner表示取交集。
二、merge “合并”
df = pd.merge(left, right, on =["ID", "ID"])
# 实战项目中,同一个企业的数据依据 year 竖向排列,要改为横向合并。
def merge_year(data):
temp = pd.merge(data[data['year'] ==2016], data[data['year'] ==2017], on=["ID", "ID"], suffixes=['.1', '.2'])
ret = pd.merge(data[data['year'] ==2015], temp, on=["ID", "ID"])
return ret