Pandas系列(十一)Pandas中concat合并两个dataframe

  通过concat可以将相同格式的excel、给dataframe添加行、给dataframe添加列。

  concat可以沿着某个轴(axis=0/1)把多个pandas对象(dataframe/series)合并成一个。

concat

  • concat语法pandas.concat(objs, axis=0, join='outer', ignore_index=False)
  1. objs:一个列表,内容可以是DataFrame或者Series,可以混合。
  2. axis:默认是0代表按行合并,如果等于1代表按列合并。
  3. join:合并的时候索引的对齐方式,默认是outer join,也可以是inner join。
  4. ignore_index:是否忽略掉原来的数据索引。

append

  • append语法:DataFrame.append(other, ignore_index=False)¶

  append只有按行合并,没有按列合并,相当于concat按行的简写形式。

  1. other:单个dataframe、series、dict,或者列表。
  2. ignore_index:是否忽略掉原来的数据索引。

使用pandas.concat合并数据

获取数据

  首先造两个数据df1df2出来:

Pandas系列(十一)Pandas中concat合并两个dataframe

concat实例

使用默认参数

  默认的concat,参数为axis=0join=outerignore_index=False

Pandas系列(十一)Pandas中concat合并两个dataframe

使用ignore_index=True可以忽略原来的索引

Pandas系列(十一)Pandas中concat合并两个dataframe

使用join=inner过滤掉不匹配的列

Pandas系列(十一)Pandas中concat合并两个dataframe

添加一列Series

Pandas系列(十一)Pandas中concat合并两个dataframe

添加多列Series

Pandas系列(十一)Pandas中concat合并两个dataframe

  这里列表可以只有Series,如pd.concat([s1,s2], axis=1),也可以是混合顺序,如:pd.concat([s1,df1,s2], axis=1)

使用DataFrame.append按行合并数据

生成数据

Pandas系列(十一)Pandas中concat合并两个dataframe

append实例

给1个dataframe添加另一个dataframe

Pandas系列(十一)Pandas中concat合并两个dataframe

忽略原来的索引ignore_index=True

Pandas系列(十一)Pandas中concat合并两个dataframe

一行一行的给DataFrame添加数据

Pandas系列(十一)Pandas中concat合并两个dataframe