Python Pandas中append方法举例详解

 更新时间:2023年12月11日 16:10:53   作者:wang2leee  
这篇文章主要给大家介绍了关于Python Pandas中append方法的相关资料,在Pandas中append()方法用于将一个或多个DataFrame或Series添加到DataFrame中,需要的朋友可以参考下

原理

append方法用于在Pandas DataFrame中追加行数据。它将另一个DataFrame、Series或类似字典的对象的数据添加到调用者DataFrame的末尾,返回一个新的DataFrame对象。

具体原理如下:

  • 检查传入的other参数是否为DataFrame、Series或类似字典的对象。
  • 根据指定的参数进行操作,将other中的行追加到调用者DataFrame的末尾。
  • 进行数据对齐操作,确保列名一致。
  • 返回一个新的DataFrame对象,其中包含调用者DataFrame和other数据的行。

用法

DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)
  • other:要追加的DataFrame、Series或类似字典的对象。
  • ignore_index:是否忽略索引,在结果中重新标记行的索引,默认为False。
  • verify_integrity:如果为True,在创建具有重复索引的情况下会引发ValueError异常,默认为False。
  • sort:如果为True,则在列不对齐时对列进行排序,默认为False。

示例(含结果输出)

以下是使用append方法的示例代码和结果输出:

import pandas as pd

# 创建第一个DataFrame
df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'], index=['x', 'y'])
print(df1)
# 输出:
#    A  B
# x  1  2
# y  3  4

# 创建第二个DataFrame
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=['A', 'B'], index=['x', 'y'])
print(df2)
# 输出:
#    A  B
# x  5  6
# y  7  8

# 使用append方法将df2追加到df1末尾
df_appended = df1.append(df2)
print(df_appended)
# 输出:
#    A  B
# x  1  2
# y  3  4
# x  5  6
# y  7  8

# 创建一个Series对象
series = pd.Series([9, 10], name='C')
print(series)
# 输出:
# 0     9
# 1    10
# Name: C, dtype: int64

# 使用append方法将series追加到df1末尾
df_appended_series = df1.append(series)
print(df_appended_series)
# 输出:
#      A  B
# x  1.0  2
# y  3.0  4
# 0  NaN  NaN
# 1  NaN  NaN

在上述示例中,我们首先创建了两个DataFrame对象df1df2,它们具有相同的列名和索引。然后,我们使用append方法将df2追加到df1的末尾,得到一个新的DataFrame对象df_appended。输出结果显示了追加行后的DataFrame对象。

接下来,我们创建了一个Series对象series,并使用append方法将其追加到df1的末尾,得到一个新的DataFrame对象df_appended_series。输出结果显示了追加Series后的DataFrame对象。

源码分析

# append方法的源码分析
def append(self, other, ignore_index=False, verify_integrity=False, sort=False):
    # ... 省略部分代码 ...
    return self._append(other, ignore_index=ignore_index, verify_integrity=verify_integrity, sort=sort)

在Pandas中,append方法实际上是调用了_append方法进行实际的追加操作。

附:Python DataFrame 的 append() 方法无效

做毕设时,需要实现 DataFrame 新增一行的功能,百度到了 DataFrame 对象有 append() 方法可以用于新增一行,但是使用时发现居然无效,并且我也进行了各种尝试,例如给创建 DataFrame 时利用 colums=[] 给表头赋值…结果还是没用。

一开始还以为是网上写错了,后来发现是自己的用法错了!!

问题解决

简化一下问题,如果这么用是错误的:

df = pd.DataFrame()
df2 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
df.append(df2)
print(df)

这样会发现结果永远是 Empty!!!

真正的用法如下:

df = pd.DataFrame()
df2 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
df = df.append(df2)
print(df)

核心在于 df.append(df2) 不会改变 df 本身,返回值才是合并后的 DataFrame 对象

反思

其实这种函数的用法并不是一个少见的现象,学过的很多语言中的很多函数都是这么用的,然而我居然还在这上面折腾了好一会儿,实在是不应该。

平时查资料时,虽然阅读速度要快,但是不要凭借自己的脑补去用函数,还是应该把函数的参数、返回值、用法给看清楚,再拿来用,以后不能犯这种低级错误。

官方链接

pandas.DataFrame.append - 官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html

总结

到此这篇关于Python Pandas中append方法举例的文章就介绍到这了,更多相关Pandas append方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python利用matplotlib绘制圆环图(环形图)的实战案例

    Python利用matplotlib绘制圆环图(环形图)的实战案例

    环形图也被称为圆环图,它在功能上与饼图相同,只是中间有一个空白,并且能够同时支持多个统计数据,下面这篇文章主要给大家介绍了关于Python利用matplotlib绘制圆环图的实战案例,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 如何让利用Python+AI使静态图片动起来

    如何让利用Python+AI使静态图片动起来

    这篇文章主要介绍了如何让利用Python+AI使静态图片动起来,基于的GAN生成对抗网络围绕主题实现静态图片动起来的效果。具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • python利用dir函数查看类中所有成员函数示例代码

    python利用dir函数查看类中所有成员函数示例代码

    这篇文章主要给大家介绍了关于python如何利用dir函数查看类中所有成员函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。
    2017-09-09
  • 详解Python3之数据指纹MD5校验与对比

    详解Python3之数据指纹MD5校验与对比

    这篇文章主要介绍了Python3之数据指纹MD5校验与对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Python数据挖掘Pandas详解

    Python数据挖掘Pandas详解

    这篇文章主要介绍了Python数据挖掘Pandas,pandas是基于numpy模块构建的,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • django框架中间件原理与用法详解

    django框架中间件原理与用法详解

    这篇文章主要介绍了django框架中间件原理与用法,结合实例形式详细分析了Django框架常用中间件与基本使用技巧,需要的朋友可以参考下
    2019-12-12
  • python实现操作文件(文件夹)

    python实现操作文件(文件夹)

    这篇文章主要为大家详细介绍了pyhton实现操作文件、操作文件夹,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python单向链表实例详解

    python单向链表实例详解

    这篇文章主要为大家详细介绍了python单向链表实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python操作多维数组输出和矩阵运算示例

    Python操作多维数组输出和矩阵运算示例

    这篇文章主要介绍了Python操作多维数组输出和矩阵运算,结合实例形式分析了Python多维数组的生成、打印输出及矩阵运算相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • 利用python实现凯撒密码加解密功能

    利用python实现凯撒密码加解密功能

    这篇文章主要介绍了利用python实现凯撒密码加解密功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论