Pandas 连接

2024 年 8 月 29 日 | 阅读 2 分钟

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

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

语法

参数

  • objs: 它是 Series 或 DataFrame 对象的序列或映射。
    如果我们在 DataFrame 中传递一个 dict,则排序的键将用作 keys<.strong> 参数,并将选择值。如果存在任何非对象,则将删除它们,除非它们全部为 none,在这种情况下,将引发 ValueError
  • axis: 要沿其连接的轴。
  • join: 负责处理另一个轴上的索引。
  • join_axes: 索引对象列表。而不是执行内部或外部集合逻辑,使用特定索引来处理其他 (n-1) 轴。
  • ignore_index: bool,默认值为 False
    如果为 True,则在连接轴上不使用索引值。结果轴将标记为 0, ..., n - 1。

返回值

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

示例 1

输出

0       p
1       q
0       r
1       s
dtype: object

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

输出

0       p
1       q
2       r
3       s
dtype: object

示例 3: 我们可以使用 keys 参数在数据的最外层添加一个分层索引。

输出

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

示例 4: 我们可以使用 names 参数标记索引键。以下代码显示了 names 参数的工作方式。

输出

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

使用 append 进行连接

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

示例

输出

     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