pandas的拼接操作之级联:concat & append
pandas的拼接分为两种:级联,合并
- 级联:pd.concat, pd.append
- 合并:pd.merge
对比:级联(增加),聚合(减少)
pd.concat()级联
为方便讲解,我们首先定义一个生成DataFrame的函数:
from pandas import Series, DataFrame
def make_df(index, cols):
# 字典推导式 + 列表推导式.
df = DataFrame({col: [col + str(i) for i in index] for col in cols})
df.index = index
return df
创建一个df
make_df([1,2,3,4], list('ABCD'))
pandas使用pd.concat()函数,与np.concatenate()函数类似,只是多了一些参数:
objs (需要连接的对象,eg [df1, df2] )
axis=0 (默认列方向,增加行)
join=‘outer’ (outer, 表示index全部需要; inner,表示只取index重合的部分;默认外连接"outer")
join_axes=None (传入需要保留的index )
ignore_index=False (忽视原索引,重新分配)
keys = [value1,value2…] (保留原来索引,新增索引说明)
verify_integrity=False (校验索引的一致性.即允许索引重复)
1) 简单级联(匹配级联)
df1 = make_df([1,2,3,4], list('ABCD'))
df2 = df1.copy()
和np.concatenate一样,优先增加行数(默认axis=0)
# 默认增加行数
pd.concat((df1, df2))