pandas.concat(objs, axis=0, join=‘outer’, ignore_index=False,
levels=None, names=None, verify_integrity=False, sort=False, copy=True, keys=None, )
主要介绍objs, axis, join, ignore_index四个参数
- objs: 要合并的DataFrame/Series组成的列表
- axis: 指定连接轴0/index或者1/column
- join: 指定合并的方式inner/outer
- ignore_index: 指定是否重新生成index或者column, 0,1,2…,n-1 默认为False
import pandas as pd
# df和df2的最后一列的列名不一样
df1 = pd.DataFrame({"a": ["a0", "a1", "a2"],
"b": ["b0", "b1", "b2"],
"c": ["c0", "c1", "c2"]}, index=[1, 2, 3])
df2 = pd.DataFrame({"a": ["A0", "A1", "A2"],
"b": ["B0", "B1", "B2"],
"d": ["C0", "C1", "C2"]}, index=[1, 2, 3])
ser = pd.Series([11, 22, 33], index=[1, 2, 3], name="a")
# 1. axis 指定连接轴0/index或者1/column
df3 = pd.concat([df1, ser, df2], axis=0)
# print(df3)
df4 = pd.concat([df1, ser, df2], axis=1)
# print(df4)
# 2. join 指定合并的方式inner/outer
df5 = pd.concat([df1, df2], axis=1, join="inner") # join="inner", 如果axis=1时, 则会将两个df有相同index行合并; 如果axis=0, 则会将两个df有相同column的列合并;
# print(df5)
df6 = pd.concat([df1, df2], axis=0, join="outer") # join="outer", 如果axis=1时, 则会将两个df有相同index行合并, 不相同的填充nan; 如果axis=0, 则会将两个df有相同column的列合并, 不相同的填充nan
# print(df6)
# 3. ignore_index 指定是否重新生成index或者column, 0,1,2..,n-1 默认为False
df7 = pd.concat([df1, df2], axis=0, ignore_index=True) # ignore_index=True, 如果axis=1时, 则column会自动生成为0,1,2..,n-1; 如果axis=0, 则index会自动生成为0,1,2..,n-1;
# print(df7)
df8 = pd.concat([df1, df2], axis=0, ignore_index=False) # ignore_index=False, index或者column保持原df的
# print(df8)



