迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Pandas concat 函数

作者:迹忆客 最近更新:2023/03/21 浏览次数:

pandas.concat() 方法可以连接 Pandas DataFrame 或 Series 对象。

pandas.concat() 语法

pandas.concat(objs,
              axis=0,
              join='outer',
              ignore_index=False,
              keys=None,
              levels=None,
              names=None,
              verify_integrity=False,
              sort=False,
              copy=True)

参数

objs 要连接的 Pandas Series 或 DataFrame 对象的序列或映射。
join 连接方法(innerouter)
axis 沿着行(axis=0)或列(axis=1)进行连接
ignore_index 布尔型。如果为 True,则忽略原 DataFrames 的索引。
keys 向结果索引添加标识符的顺序
levels 用于创建 MultiIndex 的级别
names 多重索引中的级别名称
verify_integrity 布尔型。如果为 True,则检查是否有重复。
sort 布尔型。当 joinouter 时,如果非 concatenation 轴尚未对齐,则对其进行排序。
copy 布尔型。如果为 False,避免不必要的数据复制。

返回值

如果所有的 Series 对象都沿 axis=0 连接,则返回一个 Series 对象。如果任何要连接的对象是一个 DataFrame,或者 Series 对象沿 axis=1 连接,它返回一个 DataFrame 对象。

示例:使用 pandas.concat() 方法沿行轴连接 2 个 Pandas Series

import pandas as pd

ser_1 = pd.Series([20,45,36,45])
print("Series-1:")
print(ser_1,"\n")

ser_2 = pd.Series([48,46,34,38])
print("Series-2:")
print(ser_2,"\n")

concatenated_ser=pd.concat([ser_1,ser_2])

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

输出:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
0    48
1    46
2    34
3    38
dtype: int64

它沿 axis=0 或按行连接 Series 对象 ser_1ser_2。其中一个 Series 对象的行堆叠在另一个对象之上。级联后的对象默认取父对象的 index 值。我们可以设置 ignore_index=True 来为连接对象分配新的索引值。

import pandas as pd

ser_1 = pd.Series([20,45,36,45])
print("Series-1:")
print(ser_1,"\n")

ser_2 = pd.Series([48,46,34,38])
print("Series-2:")
print(ser_2,"\n")

concatenated_ser=pd.concat([ser_1,ser_2],ignore_index=True)

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

输出:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
4    48
5    46
6    34
7    38
dtype: int64

它将连接 Series 对象,并为连接后的 Series 对象分配新的索引值。

示例:使用 pandas.concat() 方法沿列轴连接 2 个 Pandas 系列对象

我们在 pandas.concat() 方法中设置 axis=1,以水平或沿列轴连接 Series 对象。

import pandas as pd

ser_1 = pd.Series([20,45,36,45])
print("Series-1:")
print(ser_1,"\n")

ser_2 = pd.Series([48,46,34,38])
print("Series-2:")
print(ser_2,"\n")

concatenated_ser=pd.concat([ser_1,ser_2],axis=1)

print("Result after Horizontal Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

输出:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Horizontal Concatenation of ser_1 and ser_2:
    0   1
0  20  48
1  45  46
2  36  34
3  45  38

它水平堆叠了 Series 对象 ser_1ser_2

示例:使用 pandas.concat() 方法连接 2 个 Pandas DataFrame 对象

import pandas as pd

df_1 = pd.DataFrame({
    "Col-1":[1,2,3,4],
    "Col-2":[5,6,7,8]
})
print("DataFrame-1:")
print(df_1,"\n")

df_2 = pd.DataFrame({
    "Col-1":[10,20,30,40],
    "Col-2":[50,60,70,80]
})
print("DataFrame-2:")
print(df_2,"\n")

concatenated_df=pd.concat([df_1,df_2],ignore_index=True)

print("Result after Horizontal Concatenation of df_1 and df_2:")
print(concatenated_df)

输出:

DataFrame-1:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

DataFrame-2:
   Col-1  Col-2
0     10     50
1     20     60
2     30     70
3     40     80

Result after Horizontal Concatenation of df_1 and df_2:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8
4     10     50
5     20     60
6     30     70
7     40     80

它连接了 DataFrame 对象 df_1df_2。通过设置 ignore_index=True,我们将新的索引分配给被连接的 DataFrame。

示例:使用 pandas.concat() 方法将 DataFrame 与一个系列对象进行连接

import pandas as pd

df = pd.DataFrame({
    "Col-1":[1,2,3,4],
    "Col-2":[5,6,7,8]
})
print("DataFrame Object:")
print(df,"\n")

ser = pd.Series([48,46,34,38])
print("Series Object:")
print(ser,"\n")

ser_df=pd.concat([df,ser],axis=1)

print("Concatenation of ser and df:")
print(ser_df)

输出:

DataFrame Object:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

Series Object:
0    48
1    46
2    34
3    38
dtype: int64

Concatenation of ser and df:
   Col-1  Col-2   0
0      1      5  48
1      2      6  46
2      3      7  34
3      4      8  38

它将 DataFrame 对象 dfSeries 对象 ser 连在一起。由于我们在 pandas.concat() 方法中设置了 axis=1,所以连接是按列进行的。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便