pandas dataframe dataframe.append() 函数-ag捕鱼王app官网

pandas dataframe dataframe.append() 函数

作者:迹忆客 最近更新:2024/04/22 浏览次数:

pandas.dataframe.append() 将一个 dataframe 作为输入,并将其行与调用该方法的 dataframe 的行合并,最后返回一个新的 dataframe。如果输入 dataframe 中的任何一列在调用者 dataframe 中不存在,那么这些列将被添加到 dataframe 中,缺失的值将被设置为 nan


pandas.dataframe.append() 方法的语法

dataframe.append(other, ignore_index=false, verify_integrity=false, sort=false)

参数

other 输入 dataframe 或 series,或 python dictionary-like,其行将被追加
ignore_index 布尔型。如果是 true,则忽略原始 dataframe 中的索引,默认值是 false,表示使用索引。默认值是 false,意味着使用索引
verify_integrity 布尔型。如果是 true,在创建有重复的索引时引发 valueerror。默认值是 false
sort 布尔型。如果列不对齐,它将对原始数据和其他 dataframe 进行排序

示例代码:用 pandas.dataframe.append() 添加两个 dataframe

import pandas as pd
names_1=['hisila', 'brian','zeppy']
salary_1=[23,30,21]
names_2=['ram','shyam',"hari"]
salary_2=[22,23,31]
df_1 = pd.dataframe({'name': names_1, 'salary': salary_1})
df_2 = pd.dataframe({'name': names_2, 'salary': salary_2})
merged_df = df_1.append(df_2)
print(merged_df)

输出:

     name  salary
0  hisila      23
1   brian      30
2   zeppy      21
    name  salary
0    ram      22
1  shyam      23
2   hari      31
     name  salary
0  hisila      23
1   brian      30
2   zeppy      21
0     ram      22
1   shyam      23
2    hari      31

它在 df_1 的末尾添加 df_2,并返回 merged_df,合并两个 dataframes 的行。在这里,merged_df 的索引与它们的父 dataframes 相同。


示例代码: 用 pandas.dataframe.append() 来追加 dataframe 并忽略索引

import pandas as pd
names_1=['hisila', 'brian','zeppy']
salary_1=[23,30,21]
names_2=['ram','shyam',"hari"]
salary_2=[22,23,31]
df_1 = pd.dataframe({'name': names_1, 'salary': salary_1})
df_2 = pd.dataframe({'name': names_2, 'salary': salary_2})
merged_df = df_1.append(df_2,ignore_index=true)
print(df_1)
print(df_2)
print( merged_df)

输出:

     name  salary
0  hisila      23
1   brian      30
2   zeppy      21
    name  salary
0    ram      22
1  shyam      23
2   hari      31
     name  salary
0  hisila      23
1   brian      30
2   zeppy      21
3     ram      22
4   shyam      23
5    hari      31

它将 df_2 追加到 df_1 的末尾,这里 merged_df 通过使用 append() 方法中的 ignore_index=true 参数得到全新的索引。


dataframe.append() 方法中设置 verify_integrity=true

如果我们在 append() 方法中设置 verify_integrity=true,我们会得到重复索引的 valueerror

import pandas as pd
names_1=['hisila', 'brian','zeppy']
salary_1=[23,30,21]
names_2=['ram','shyam',"hari"]
salary_2=[22,23,31]
df_1 = pd.dataframe({'name': names_1, 'salary': salary_1})
df_2 = pd.dataframe({'name': names_2, 'salary': salary_2})
merged_df = df_1.append(df_2,verify_integrity=true)
print(df_1)
print(df_2)
print( merged_df)

输出:

valueerror: indexes have overlapping values: int64index([0, 1, 2], dtype='int64')

由于 df_1df_2 中的元素默认有相同的索引,所以产生了 valueerror。为了防止这个错误,我们使用 verify_integrity 的默认值,即 verify_integrity=false


示例代码:添加不同列的 dataframe

如果我们追加一个不同列的 dataframe,这个列就会被添加到生成的 dataframe 中,原 dataframe 或其他 dataframe 中不存在的列的相应单元格被设置为 nan

import pandas as pd
names_1=['hisila', 'brian','zeppy']
salary_1=[23,30,21]
names_2=['ram','shyam',"hari"]
salary_2=[22,23,31]
age=[30,31,33]
df_1 = pd.dataframe({'name': names_1, 'salary': salary_1})
df_2 = pd.dataframe({'name': names_2, 'salary': salary_2,"age":age})
merged_df = df_1.append(df_2, sort=false)
print(df_1)
print(df_2)
print( merged_df)

输出:

     name  salary
0  hisila      23
1   brian      30
2   zeppy      21
    name  salary  age
0    ram      22   30
1  shyam      23   31
2   hari      31   33
     name  salary   age
0  hisila      23   nan
1   brian      30   nan
2   zeppy      21   nan
0     ram      22  30.0
1   shyam      23  31.0
2    hari      31  33.0

这里,df_1 的行得到 age 列的 nan 值,因为 age 列只存在于 df_2 中。

我们还设置了 sort=false,以使排序在未来的 pandas 版本中被取消的警告保持沉默。

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

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图