Pandas Append DataFrames

Pandas Append DataFrames

参考:pandas append dataframes

在数据分析和数据处理中,经常需要将多个数据集合并为一个大的数据集。Pandas 提供了多种方式来合并数据,其中 append() 函数是一个非常实用的工具,可以快速将一个 DataFrame 添加到另一个 DataFrame 的末尾。本文将详细介绍如何使用 Pandasappend() 函数,包括其基本用法和一些高级技巧。我们将通过多个示例代码来展示如何在实际场景中使用这一功能。

基本用法

append() 函数可以将一个 DataFrame 添加到另一个 DataFrame 的末尾。这个过程不会直接修改原有的 DataFrame,而是返回一个新的 DataFrame。

示例代码 1:基本的 append 操作

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
}, index=[0, 1, 2])

df2 = pd.DataFrame({
    'A': ['A3', 'A4', 'A5'],
    'B': ['B3', 'B4', 'B5']
}, index=[3, 4, 5])

# 使用 append 合并两个 DataFrame
result = df1._append(df2)
print(result)

Output:

Pandas Append DataFrames

示例代码 2:带有忽略索引的 append

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

df2 = pd.DataFrame({
    'A': ['A3', 'A4', 'A5'],
    'B': ['B3', 'B4', 'B5']
})

# 使用 append 合并两个 DataFrame,并忽略原有索引
result = df1._append(df2, ignore_index=True)
print(result)

Output:

Pandas Append DataFrames

示例代码 3:添加单行数据

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

# 创建一个 Series
s = pd.Series(['A3', 'B3'], index=['A', 'B'])

# 将 Series 添加到 DataFrame
result = df._append(s, ignore_index=True)
print(result)

Output:

Pandas Append DataFrames

处理不同列名

当两个 DataFrame 列名不完全相同时,append() 会尝试对齐所有列,不存在的列将被填充为 NaN。

示例代码 4:列名不匹配的情况

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

df2 = pd.DataFrame({
    'C': ['C3', 'C4', 'C5'],
    'D': ['D3', 'D4', 'D5']
})

# 使用 append 合并两个 DataFrame
result = df1._append(df2)
print(result)

Output:

Pandas Append DataFrames

使用 concat() 作为替代

虽然 append() 非常方便,但在处理大数据集或需要更高效的合并操作时,推荐使用 concat() 函数。

示例代码 5:使用 concat 合并 DataFrame

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

df2 = pd.DataFrame({
    'A': ['A3', 'A4', 'A5'],
    'B': ['B3', 'B4', 'B5']
})

# 使用 concat 合并两个 DataFrame
result = pd.concat([df1, df2])
print(result)

Output:

Pandas Append DataFrames

高级用法

示例代码 6:使用多个 DataFrame 的 append

import pandas as pd

# 创建多个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

df2 = pd.DataFrame({
    'A': ['A3', 'A4', 'A5'],
    'B': ['B3', 'B4', 'B5']
})

df3 = pd.DataFrame({
    'A': ['A6', 'A7', 'A8'],
    'B': ['B6', 'B7', 'B8']
})

# 使用 append 合并多个 DataFrame
result = df1._append([df2, df3])
print(result)

Output:

Pandas Append DataFrames

示例代码 7:带有不同数据类型的列的 DataFrame

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': [1, 2, 3]
})

df2 = pd.DataFrame({
    'A': ['A3', 'A4', 'A5'],
    'B': [4.0, 5.5, 6.1]
})

# 使用 append 合并两个 DataFrame
result = df1._append(df2)
print(result)

Output:

Pandas Append DataFrames

示例代码 8:合并时包含额外的列

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

df2 = pd.DataFrame({
    'A': ['A3', 'A4', 'A5'],
    'C': ['C3', 'C4', 'C5']
})

# 使用 append 合并两个 DataFrame
result = df1._append(df2)
print(result)

Output:

Pandas Append DataFrames

总结

在本文中,我们详细介绍了 Pandas 的 append() 函数的使用方法,包括基本用法和一些高级技巧。通过多个示例代码,我们展示了如何在不同的情况下使用 append() 来合并 DataFrame。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程