如何使用 Pandas 中的 DataFrame 对象添加行数据

如何使用 Pandas 中的 DataFrame 对象添加行数据

参考:pandas append row to dataframe

在数据分析和数据处理中,经常需要对数据进行修改和增加。PandasPython 中一个非常流行的数据处理库,它提供了非常丰富的数据结构和操作方法来处理结构化数据。本文将详细介绍如何使用 Pandas 中的 DataFrame 对象添加行数据。

1. 使用 append() 方法添加单行

Pandas 的 DataFrame 提供了 append() 方法,可以用来向 DataFrame 添加行。这个方法返回一个新的 DataFrame,包含原始数据和新增的行。

示例代码 1

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个新行的数据
new_row = pd.Series({'Website': 'pandasdataframe.com', 'Pageviews': 1500})

# 添加新行到 DataFrame
df = df._append(new_row, ignore_index=True)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

2. 使用 lociloc 添加行

如果你知道新行的索引位置,可以直接使用 lociloc 方法来添加或修改 DataFrame 的行。

示例代码 2

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame(columns=['Website', 'Pageviews'])

# 使用 loc 添加行
df.loc[0] = ['pandasdataframe.com', 1000]
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

示例代码 3

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame(columns=['Website', 'Pageviews'])

# 使用 iloc 添加行
df.iloc[0] = ['pandasdataframe.com', 1000]
print(df)

3. 使用 concat() 方法添加多行

当需要添加多行数据时,可以使用 concat() 方法。这个方法可以连接两个或多个 DataFrame。

示例代码 4

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建另一个 DataFrame 包含多行数据
new_rows = pd.DataFrame({
    'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
    'Pageviews': [1500, 2000]
})

# 使用 concat 添加多行
df = pd.concat([df, new_rows], ignore_index=True)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

4. 使用字典添加行

可以直接使用字典来创建一个新行,并使用 append() 方法添加到 DataFrame 中。

示例代码 5

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个字典表示新行
new_row = {'Website': 'pandasdataframe.com', 'Pageviews': 1500}

# 添加新行到 DataFrame
df = df._append(new_row, ignore_index=True)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

5. 使用 DataFrame.append() 添加多个字典作为行

如果有多个字典需要添加为行,可以将它们放在一个列表中,然后使用 append() 方法。

示例代码 6

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个列表包含多个字典
new_rows = [{'Website': 'pandasdataframe.com', 'Pageviews': 1500},
            {'Website': 'pandasdataframe.com', 'Pageviews': 2000}]

# 添加新行到 DataFrame
df = df._append(new_rows, ignore_index=True)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

6. 使用 pd.DataFrame() 直接从列表创建新行

有时候,数据以列表的形式存在,可以直接使用 pd.DataFrame() 创建一个新的 DataFrame,然后使用 concat()append() 方法添加到现有的 DataFrame。

示例代码 7

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个列表包含新行的数据
new_data = [['pandasdataframe.com', 1500], ['pandasdataframe.com', 2000]]

# 创建一个新的 DataFrame
new_df = pd.DataFrame(new_data, columns=['Website', 'Pageviews'])

# 添加新 DataFrame 到原始 DataFrame
df = pd.concat([df, new_df], ignore_index=True)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

7. 使用 DataFrame.insert() 在特定位置插入行

虽然 Pandas 没有直接的方法在 DataFrame 中的特定位置插入行,但可以通过分割 DataFrame,添加行,然后再重新连接的方式实现。

示例代码 8

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个新行的 DataFrame
new_row = pd.DataFrame({'Website': ['pandasdataframe.com'], 'Pageviews': [1500]})

# 分割原 DataFrame,插入新行,然后重新连接
top = df.iloc[:1]
bottom = df.iloc[1:]
df = pd.concat([top, new_row, bottom], ignore_index=True)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

8. 使用 DataFrame.merge() 合并行

如果需要根据某些键将行合并到 DataFrame 中,可以使用 merge() 方法。这通常用于数据库风格的连接操作。

示例代码 9

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个新行的 DataFrame
new_row = pd.DataFrame({'Website': ['pandasdataframe.com'], 'Pageviews': [1500]})

# 使用 merge 方法合并 DataFrame
df = df.merge(new_row, on='Website', how='outer')
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

9. 使用 DataFrame.update() 更新行

如果 DataFrame 中已存在某些行,并且需要更新这些行的数据,可以使用 update() 方法。

示例代码 10

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 创建一个新行的数据,用于更新
new_data = pd.DataFrame({'Website': ['pandasdataframe.com'], 'Pageviews': [1500]})

# 更新 DataFrame
df.update(new_data)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

10. 使用 DataFrame.replace() 替换行数据

如果需要在 DataFrame 中替换行数据,可以使用 replace() 方法。

示例代码 11

import pandas as pd

# 创建一个初始的 DataFrame
df = pd.DataFrame({
    'Website': ['pandasdataframe.com'],
    'Pageviews': [1000]
})

# 替换 DataFrame 中的数据
df.replace({'Pageviews': 1000}, 1500)
print(df)

Output:

如何使用 Pandas 中的 DataFrame 对象添加行数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程