iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pandas.concat连接DataFrame,Series的示例代码
  • 131
分享到

Pandas.concat连接DataFrame,Series的示例代码

Python 官方文档:入门教程 => 点击学习

摘要

目录pandas.concat的基本用法()连接方向的指定(垂直/水平):axis指定连接方法(外部连接/内部连接):joinpandas.DataFrame的连接pandas.Se

如何使用pandas.concat()函数连接pandas.DataFrame和pandas.Series。

将对以下内容进行说明。

  • pandas.concat的基本用法()
    • 指定要连接的对象:objs
    • 连接方向的指定(垂直/水平):axis
    • 指定连接方法(外部连接/内部连接):join
  • pandas.DataFrame的连接
  • pandas.Series的连接
  • pandas.DataFrame和pandas.Series的连接

使用以下的pandas.DataFrame和pandas.Series为例。

import pandas as pd

df1 = pd.DataFrame({'A': ['A1', 'A2', 'A3'],
                    'B': ['B1', 'B2', 'B3'],
                    'C': ['C1', 'C2', 'C3']},
                   index=['ONE', 'TWO', 'THREE'])
print(df1)
#         A   B   C
# ONE    A1  B1  C1
# TWO    A2  B2  C2
# THREE  A3  B3  C3

df2 = pd.DataFrame({'C': ['C2', 'C3', 'C4'],
                    'D': ['D2', 'D3', 'D4']},
                   index=['TWO', 'THREE', 'FOUR'])
print(df2)
#         C   D
# TWO    C2  D2
# THREE  C3  D3
# FOUR   C4  D4

s1 = pd.Series(['X1', 'X2', 'X3'], index=['ONE', 'TWO', 'THREE'], name='X')
print(s1)
# ONE      X1
# TWO      X2
# THREE    X3
# Name: X, dtype: object

s2 = pd.Series(['Y2', 'Y3', 'Y4'], index=['TWO', 'THREE', 'FOUR'], name='Y')
print(s2)
# TWO      Y2
# THREE    Y3
# FOUR     Y4
# Name: Y, dtype: object

pandas.concat的基本用法()

指定要连接的对象:objs
通过参数objs指定要连接的pandas.DataFrame和pandas.Series,指定类型为列表或元组。

df_concat = pd.concat([df1, df2])
print(df_concat)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4

要连接的对象的数量不限于两个,可以是三个或更多。

df_concat_multi = pd.concat([df1, df2, df1])
print(df_concat_multi)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN

结果是创建了一个新的对象,原始对象保持不变。

连接方向的指定(垂直/水平):axis

垂直或水平方向由axis参数指定。 如果axis = 0,则它们是垂直链接的。默认设置为axis = 0,因此可以省略不写。

df_v = pd.concat([df1, df2], axis=0)
print(df_v)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4

axis = 1,水平方向上连接。

df_h = pd.concat([df1, df2], axis=1)
print(df_h)
#          A    B    C    C    D
# ONE     A1   B1   C1  NaN  NaN
# TWO     A2   B2   C2   C2   D2
# THREE   A3   B3   C3   C3   D3
# FOUR   NaN  NaN  NaN   C4   D4

指定连接方法(外部连接/内部连接):join

参数join:指定列名(或行名)的并集,或者仅将公共部分保留。

join ='outer’是外部连接。列名(或行名)形成一个联合,保留所有列(或行)。它是默认设置,因此可以省略不写。在这种情况下,原始对象中列(或行)不存在的值将由的缺少值NaN代替。

join ='inner’是内部连接。仅保留具有相同列名(或行名)的列(或行)。

df_v_out = pd.concat([df1, df2], join='outer')
print(df_v_out)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4

df_v_in = pd.concat([df1, df2], join='inner')
print(df_v_in)
#         C
# ONE    C1
# TWO    C2
# THREE  C3
# TWO    C2
# THREE  C3
# FOUR   C4

水平方向。

df_h_out = pd.concat([df1, df2], axis=1, join='outer')
print(df_h_out)
#          A    B    C    C    D
# FOUR   NaN  NaN  NaN   C4   D4
# ONE     A1   B1   C1  NaN  NaN
# THREE   A3   B3   C3   C3   D3
# TWO     A2   B2   C2   C2   D2

df_h_in = pd.concat([df1, df2], axis=1, join='inner')
print(df_h_in)
#         A   B   C   C   D
# TWO    A2  B2  C2  C2  D2
# THREE  A3  B3  C3  C3  D3

如何更改列名和行名,请参考下列连接。

01_Pandas.DataFrame的行名和列名的修改

pandas.DataFrame的连接

将pandas.DataFrames连接在一起时,返回的也是pandas.DataFrame类型的对象。

df_concat = pd.concat([df1, df2])
print(df_concat)
#          A    B   C    D
# ONE     A1   B1  C1  NaN
# TWO     A2   B2  C2  NaN
# THREE   A3   B3  C3  NaN
# TWO    NaN  NaN  C2   D2
# THREE  NaN  NaN  C3   D3
# FOUR   NaN  NaN  C4   D4

print(type(df_concat))
# <class 'pandas.core.frame.DataFrame'>

pandas.Series的连接

如果是pandas.Series之间的连接,则垂直连接(默认值axis= 0)返回的也是pandas.Series类型的对象。

s_v = pd.concat([s1, s2])
print(s_v)
# ONE      X1
# TWO      X2
# THREE    X3
# TWO      Y2
# THREE    Y3
# FOUR     Y4
# dtype: object

print(type(s_v))
# <class 'pandas.core.series.Series'>

axis = 1时,水平方向连接,返回pandas.DataFrame类型的对象。

s_h = pd.concat([s1, s2], axis=1)
print(s_h)
#          X    Y
# FOUR   NaN   Y4
# ONE     X1  NaN
# THREE   X3   Y3
# TWO     X2   Y2

print(type(s_h))
# <class 'pandas.core.frame.DataFrame'>

也可以使用参数join。

s_h_in = pd.concat([s1, s2], axis=1, join='inner')
print(s_h_in)
#         X   Y
# TWO    X2  Y2
# THREE  X3  Y3

pandas.DataFrame和pandas.Series的连接

对于pandas.DataFrame和pandas.Series连接,水平连接(axis= 1)将pandas.Series添加为新列。列名称是pandas.Series的名称。

df_s_h = pd.concat([df1, s2], axis=1)
print(df_s_h)
#          A    B    C    Y
# FOUR   NaN  NaN  NaN   Y4
# ONE     A1   B1   C1  NaN
# THREE   A3   B3   C3   Y3
# TWO     A2   B2   C2   Y2

也可以使用参数join。

df_s_h_in = pd.concat([df1, s2], axis=1, join='inner')
print(df_s_h_in)
#         A   B   C   Y
# TWO    A2  B2  C2  Y2
# THREE  A3  B3  C3  Y3

垂直连接(axis = 0)。

df_s_v = pd.concat([df1, s2])
print(df_s_v)
#          A    B    C    0
# ONE     A1   B1   C1  NaN
# TWO     A2   B2   C2  NaN
# THREE   A3   B3   C3  NaN
# TWO    NaN  NaN  NaN   Y2
# THREE  NaN  NaN  NaN   Y3
# FOUR   NaN  NaN  NaN   Y4

添加行,可以在.loc中指定新的行名称并分配值,或使用append()方法。

df1.loc['FOUR'] = ['A4', 'B4', 'C4']
print(df1)
#         A   B   C
# ONE    A1  B1  C1
# TWO    A2  B2  C2
# THREE  A3  B3  C3
# FOUR   A4  B4  C4

s = pd.Series(['A5', 'B5', 'C5'], index=df1.columns, name='FIVE')
print(s)
# A    A5
# B    B5
# C    C5
# Name: FIVE, dtype: object

df_append = df1.append(s)
print(df_append)
#         A   B   C
# ONE    A1  B1  C1
# TWO    A2  B2  C2
# THREE  A3  B3  C3
# FOUR   A4  B4  C4
# FIVE   A5  B5  C5

到此这篇关于Pandas.concat连接DataFrame,Series的示例代码的文章就介绍到这了,更多相关Pandas concat连接内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Pandas.concat连接DataFrame,Series的示例代码

本文链接: https://www.lsjlt.com/news/197093.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pandas.concat连接DataFrame,Series的示例代码
    目录pandas.concat的基本用法()连接方向的指定(垂直/水平):axis指定连接方法(外部连接/内部连接):joinpandas.DataFrame的连接pandas.Se...
    99+
    2023-02-22
    Pandas concat连接 Pandas.concat连接DataFrame Pandas.concat连接Series
  • 怎么使用Pandas.concat连接DataFrame和Series
    这篇文章主要介绍了怎么使用Pandas.concat连接DataFrame和Series的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Pandas.concat连接DataFrame和Series文章都...
    99+
    2023-07-05
  • golang连接kafka的示例代码
    目录1 下载,配置,启动 kafka配置修改启动kafka2 使用golang的github.com/Shopify/sarama库连接kafka3 确认生产者发送成功1 下载,配置...
    99+
    2023-05-16
    golang连接kafka golang kafka连接
  • Spring实现HikariCP连接池的示例代码
    上两篇文章,我们讲到了Spring中如何配置单数据源和多数据源,配置数据源的时候,连接池有很多选择,在SpringBoot 1.0中使用的是Tomcat的DataSource,在Sp...
    99+
    2024-04-02
  • JDBC连接的六步实例代码(与mysql连接)
    JDBC的六步: 1.注册驱动 2.获取数据库的连接 3.获取数据库的操作对象 4.执行sql语句 5.处理查询结果集(如果执行的语句中没有select语句这一步不用写) ...
    99+
    2024-04-02
  • python3 实现mysql数据库连接池的示例代码
    dbutils封装文件传送门 DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。...
    99+
    2024-04-02
  • SpringBoot 整合mongoDB并自定义连接池的示例代码
    目录Maven 依赖配置文件MongoConfig配置类得力于SpringBoot的特性,整合mongoDB是很容易的,我们整合mongoDB的目的就是想用它给我们提供的mongoT...
    99+
    2024-04-02
  • Android Studio连接MySql实现登录注册的示例代码
    小编给大家分享一下Android Studio连接MySql实现登录注册的示例代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:一、创建工程创建一个空白...
    99+
    2023-06-15
  • workerman写mysql连接池的实例代码
    首先要了解为什么用连接池,连接池能为你解决什么问题 连接池主要的作用: 1、减少与数据服务器建立TCP连接三次握手及连接关闭四次挥手的开销,从而降低客户端和mysql服务端的负载,缩短请求响应时间 2、减少...
    99+
    2024-04-02
  • Python实现连点器的示例代码
    啊,为此我特意准备了两个程序,一个是用来测试的,一个是主程序。来看看吧 直接放连点器代码: # 改进版 import pyautogui as pag from time impor...
    99+
    2024-04-02
  • pandas中DataFrame数据合并连接的实例分析
    这篇文章主要介绍了pandas中DataFrame数据合并连接的实例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。pandas作者Wes McKinney 在【PYTHO...
    99+
    2023-06-15
  • spring cloud 配置阿里数据库连接池 druid的示例代码
    1.配置pom <!-- druid 数据库连接池 --> <dependency> <groupId>com.alibaba...
    99+
    2024-04-02
  • 基于Java实现连连看游戏的示例代码
    目录前言主要需求主要设计功能截图代码实现总结前言 连连看游戏顾名思义就是找出具有关联关系的事物并进行相应处理,经历了从桌面游戏、在线游戏再到社交游戏三个过程,形式多种多样。游戏的核心...
    99+
    2024-04-02
  • mysql连接查询左连接,右连接,内连接的示例
    小编给大家分享一下mysql连接查询左连接,右连接,内连接的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、mysql常用连接INNER JOIN(内连接,或等值连接):获取两个表中...
    99+
    2024-04-02
  • Spring Aware接口示例代码详解
    若 Spring 检测到 bean 实现了 Aware 接口,则会为其注入相应的依赖。所以通过让bean 实现 Aware 接口,则能在 bean 中获得相应的 Spring 容器资...
    99+
    2024-04-02
  • java远程连接调用Rabbitmq的实例代码
    本文介绍了java远程连接调用Rabbitmq,分享给大家,希望此文章对各位有所帮助。打开IDEA创建一个maven工程(Java就可以了)。  pom.xml文件如下<project xmlns="http://maven...
    99+
    2023-05-31
    java 远程 调用
  • java_util_test的示例代码
    这篇文章主要为大家展示了“java_util_test的示例代码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java_util_test的示例代码”这篇文章吧。package com...
    99+
    2023-06-03
  • JavaScript的concat方法实例代码(数组连接)
    目录1.连接2个数组2.连接3个数组3.连接值到数组有趣的知识对象也是可以连的数组默认展开对象默认不展开字符串的concat方法JavaScript concat...
    99+
    2023-03-13
    JavaScript concat js数组连接
  • Golang接入钉钉通知的示例代码
    目录设置与接入发送消息设置与接入 1、创建一个钉钉群 2、打开群设置,智能群助手,添加机器人,自定义Webhook接入 3、设置机器人名字,开启消息推送,复制Webhook地址 4、...
    99+
    2024-04-02
  • Android连接服务器端的Socket的实例代码
    废话不多说了,直接给大家贴代码了,具体代码如下所述:package com.example.esp8266;import java.io.IOException;import java.io.InputStream;import java....
    99+
    2023-05-31
    android 服务器端 socket
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作