Pandas能够通过不同种类的集合逻辑和关系代数功能组合Series、DataFrame和Panel对象。

concat()函数负责在DataFrame中沿轴执行连接操作。

语法:

pd.concat(objs,axis=0,join='outer',join_axes=None,  
ignore_index=False)  

参数:

objs: 它是一个序列或映射,包含Series或DataFrame对象。

如果在DataFrame中传递了一个字典,那么排序后的键将用作keys参数,并且将选择相应的值。如果存在任何非对象,那么它们将被丢弃,除非它们全部为none,在这种情况下,将引发ValueError

  • axis: 沿着其进行连接的轴。
  • join: 处理另一个轴上的索引的方式。
  • join_axes: 索引对象的列表。使用特定索引,而不是执行内部或外部集合逻辑。
  • ignore_index: 布尔值,默认值为False。如果为True,则不使用连接轴上的索引值。结果轴将标记为0,...,n - 1。

返回值

在沿轴(axis=0)连接所有Series时,返回一个Series。如果*objs*包含至少一个DataFrame,则返回一个DataFrame。

示例1:

import pandas as pd  
a_data = pd.Series(['p', 'q'])  
b_data = pd.Series(['r', 's'])  
pd.concat([a_data, b_data])  

输出

0       p
1       q
0       r
1       s
dtype: object

示例2: 在上面的示例中,我们可以通过使用ignore_index参数来重置现有索引。下面的代码演示了ignore_index的工作原理。

import pandas as pd  
a_data = pd.Series(['p', 'q'])  
b_data = pd.Series(['r', 's'])  
pd.concat([a_data, b_data], ignore_index=True)  

输出

0       p
1       q
2       r
3       s
dtype: object

示例3: 我们可以通过使用keys参数在数据的最外层级别添加层次索引。

import pandas as pd  
a_data = pd.Series(['p', 'q'])  
b_data = pd.Series(['r', 's'])  
pd.concat([a_data, b_data], keys=['a_data', 'b_data'])  

输出

a_data    0      p
          1      q
b_data    0      r
          1      s
dtype: object

示例4: 我们可以使用names参数为索引键标签命名。下面的代码展示了names参数的工作原理。

import pandas as pd  
a_data = pd.Series(['p', 'q'])  
b_data = pd.Series(['r', 's'])  
pd.concat([a_data, b_data], keys=['a_data', 'b_data'])  
pd.concat([a_data, b_data], keys=['a_data', 'b_data'],  
names=['Series name', 'Row ID'])  

输出

Series name   Row ID
a_data         0    p
               1    q
b_data         0    r
               1    s
dtype: object

使用append进行连接

append方法被定义为连接Series和DataFrame的有用快捷方式。

示例:

import pandas as pd  
one = pd.DataFrame({  
   'Name': ['Parker', 'Smith', 'Allen', 'John', 'Parker'],  
   'subject_id':['sub1','sub2','sub4','sub6','sub5'],  
   'Marks_scored':[98,90,87,69,78]},  
   index=[1,2,3,4,5])  
two = pd.DataFrame({  
   'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],  
   'subject_id':['sub2','sub4','sub3','sub6','sub5'],  
   'Marks_scored':[89,80,79,97,88]},  
   index=[1,2,3,4,5])  
print (one.append(two))  

输出

     Name      subject_id     Marks_scored
1    Parker     sub1           98
2    Smith      sub2           90
3    Allen      sub4           87
4    John       sub6           69
5    Parker     sub5           78
1    Billy      sub2           89
2    Brian      sub4           80
3    Bran       sub3           79
4    Bryce      sub6           97
5    Betty      sub5           88

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档