我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

如何使用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连接内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

本文主要介绍了Pandas.concat连接DataFrame,Series的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-22

golang连接kafka的示例代码

本文主要介绍了golang连接kafka的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-16

Python连接Mysql进行增删改查的示例代码

Python连接Mysql 1.安装对应的库 使用Python连接Mysql数据库需要安装相应的库 以管理员身份运行cmd,输入命令pip install mysql.connector安装完成后建立 test.py 写入 import m
2022-05-22

golang连接池检查连接失败时如何重试(示例代码)

重试机制在Go中用于处理连接池中的连接故障,确保应用程序在暂时性故障时仍能与数据库交互。实现重试涉及:创建失败计数器、设定重试次数限制、定义重试逻辑和设置超时机制。示例代码演示了如何使用重试创建连接池。优化重试机制可以通过:指数退避、错误处理和监控报警,以提高连接池的容错性和性能。
golang连接池检查连接失败时如何重试(示例代码)
2024-04-23

Android Studio连接MySql实现登录注册的示例代码

小编给大家分享一下Android Studio连接MySql实现登录注册的示例代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:一、创建工程1、创建一个
2023-06-15

android网络编程之android连接网络的简单示例代码

代码如下:private void callToWebSrvice() { ConnectivityManager connManager = (ConnectivityManager)getSystemService(Context
2022-06-06

Redis实现接口防抖的示例代码

目录实现演示说明:实际开发中,我们在前端页面上点击了一个按钮,访问了一个接口,这时因为网络波动或者其他原因,页面上没有反应,用户可能会在短时间内再次点击一次或者用户以为没有点到,很快的又点了一次。导致短时间内发送了两个请求到后台,可能会导致
Redis实现接口防抖的示例代码
2024-10-14

Android连接指定Wifi的方法实例代码

本篇文章主要记录一下Android中打开Wifi、获取Wifi接入点信息及连接指接入点的方法。 自己写的demo主要用于测试接口的基本功能,因此界面及底层逻辑比较粗糙。 demo的整体界面如下所示:上图中的OPEN按键负责开启Wifi; G
2022-06-06

java远程连接调用Rabbitmq的实例代码

本文介绍了java远程连接调用Rabbitmq,分享给大家,希望此文章对各位有所帮助。打开IDEA创建一个maven工程(Java就可以了)。 pom.xml文件如下2023-05-31

JavaScript的concat方法实例代码(数组连接)

这篇文章主要介绍了JavaScript的concat方法实例代码,包括数组连与字符连接,需要的朋友可以参考下
2023-03-13

Android连接服务器端的Socket的实例代码

废话不多说了,直接给大家贴代码了,具体代码如下所述:package com.example.esp8266;import java.io.IOException;import java.io.InputStream;import java.
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录