Pandas 串联数据

Pandas 串联数据 首页 / Pandas入门教程 / Pandas 串联数据

Pandas能够通过不同种类的索引和关系代数函数的集合逻辑来组合Series,DataFrame和Panel对象。

concat()函数执行串联操作。

Concatenation - 语法

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

Concatenation - 参数

  • objs                      它是Series或DataFrame对象的序列或映射。
  • axis                       - 这是一个要串联的轴。
  • join                       - 负责处理另一个轴上的索引。
  • join_axes           -  索引对象列表。而不是执行内部或外部集合逻辑,而是将特定索引用于其他(n-1)轴。
  • ignore_index    -  布尔值,默认值为False 如果为true,则不使用串联轴上的索引值。结果轴将被标记为0,...,n-1。

Concatenation - 返回值

当无涯教程沿轴(axis = 0)连接所有Seri​​es时,将返回一个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 参数标记索引键。

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', 'Learnfk', '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    Learnfk      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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术与商业案例解读 -〔徐飞〕

深入浅出gRPC -〔李林锋〕

深入剖析Kubernetes -〔张磊〕

检索技术核心20讲 -〔陈东〕

职场求生攻略 -〔臧萌〕

分布式系统案例课 -〔杨波〕

恋爱必修课 -〔李一帆〕

手把手带你写一个Web框架 -〔叶剑峰〕

人人都用得上的数字化思维课 -〔付晓岩〕

好记忆不如烂笔头。留下您的足迹吧 :)