个性化阅读
专注于IT技术分析

Pandas串联操作concat()用法介绍

本文概述

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

concat()函数负责沿DataFrame中的轴执行串联操作。

句法

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

参数

  • objs:它是序列或DataFrame对象的序列或映射。
    如果我们在DataFrame中传递一个dict, 则排序后的键将用作keys <.strong>参数, 在这种情况下将选择值。如果存在任何非对象, 除非它们全部都不存在, 否则它将被丢弃, 在这种情况下, 将引发ValueError。
  • 轴:这是一个串联的轴。
  • join:负责处理另一个轴上的索引。
  • join_axes:索引对象的列表。而不是执行内部或外部设置逻辑, 而是将特定索引用于其他(n-1)轴。
  • ignore_index:布尔值, 默认值为False
    如果为true, 则不使用串联轴上的索引值。结果轴将被标记为0, …, n-1。

Return

当我们沿轴(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方法被定义为连接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

赞(0)
未经允许不得转载:srcmini » Pandas串联操作concat()用法介绍

评论 抢沙发

评论前必须登录!