Pandas中向DataFrame追加行的方法

Pandas中向DataFrame追加行的方法

参考:pandas append rows to dataframe

在数据处理和分析中,经常需要将新的数据行添加到现有的DataFrame中。Pandas库提供了多种方式来实现这一功能,本文将详细介绍如何在Pandas中向DataFrame追加行,包括使用append()方法、concat()函数以及直接使用lociloc索引器。

1. 使用append()方法追加行

append()方法是Pandas中用于追加行的一个非常直接的方法。它可以将一个Series或另一个DataFrame追加到原始DataFrame的末尾。这个方法默认不修改原始DataFrame,而是返回一个新的DataFrame。

示例代码1:使用append()追加单行

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [25, 30]
})

# 创建一个Series,作为新行
new_row = pd.Series(['Charlie', 'pandasdataframe.com', 35], index=df.columns)

# 追加新行
new_df = df._append(new_row, ignore_index=True)
print(new_df)

Output:

Pandas中向DataFrame追加行的方法

示例代码2:使用append()追加多行

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [25, 30]
})

# 创建另一个DataFrame
new_rows = pd.DataFrame({
    'Name': ['Charlie', 'David'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [35, 40]
})

# 追加新行
new_df = df._append(new_rows, ignore_index=True)
print(new_df)

Output:

Pandas中向DataFrame追加行的方法

2. 使用concat()函数追加行

concat()函数是Pandas中用于合并两个或多个DataFrame的通用函数。它不仅可以用于列的合并,也常用于行的追加。与append()相比,concat()提供了更多的灵活性,例如可以同时追加多个DataFrame。

示例代码3:使用concat()追加单行

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [25, 30]
})

# 创建一个新行的DataFrame
new_row = pd.DataFrame([['Charlie', 'pandasdataframe.com', 35]], columns=df.columns)

# 追加新行
new_df = pd.concat([df, new_row], ignore_index=True)
print(new_df)

Output:

Pandas中向DataFrame追加行的方法

示例代码4:使用concat()追加多行

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [25, 30]
})

# 创建另一个DataFrame
new_rows = pd.DataFrame({
    'Name': ['Charlie', 'David'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [35, 40]
})

# 追加新行
new_df = pd.concat([df, new_rows], ignore_index=True)
print(new_df)

Output:

Pandas中向DataFrame追加行的方法

3. 使用lociloc索引器直接添加行

除了使用append()concat()之外,还可以直接使用lociloc索引器来在DataFrame中添加新行。这种方法可以直接在原始DataFrame上操作,不需要创建新的DataFrame。

示例代码5:使用loc添加单行

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [25, 30]
})

# 使用loc添加新行
df.loc[len(df)] = ['Charlie', 'pandasdataframe.com', 35]
print(df)

Output:

Pandas中向DataFrame追加行的方法

示例代码6:使用iloc添加单行

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Age': [25, 30]
})

# 使用iloc添加新行(通常不推荐此方法,因为iloc主要用于位置索引)
df.iloc[len(df)] = ['Charlie', 'pandasdataframe.com', 35]
print(df)

总结

在Pandas中,向DataFrame追加行是一个常见的操作,可以使用append()方法、concat()函数或直接通过lociloc索引器来实现。每种方法都有其适用场景和优缺点。在实际应用中,选择合适的方法可以使数据处理更加高效和灵活。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程