pandas增加字典列表方法

pandas增加字典列表方法

pandas增加字典列表方法

1. 引言

Pandas 是一个开源的数据分析和数据操作工具,它提供了快速、灵活和富有表现力的数据结构,特别是 DataFrame。在数据分析和处理中,有时我们需要将一些数据添加到 DataFrame 中。本文将详细介绍如何使用 Pandas 中的字典列表方法来增加数据到 DataFrame。

2. 创建 DataFrame

在开始之前,我们首先需要创建一个 DataFrame,以便后续操作。下面是创建一个包含姓名、年龄和城市的 DataFrame 的示例代码:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [21, 25, 30],
        '城市': ['北京', '上海', '广州']}

df = pd.DataFrame(data)
print(df)

Output:

  姓名  年龄  城市
0  张三  21  北京
1  李四  25  上海
2  王五  30  广州

3. 增加单行数据

3.1 使用 loc 给 DataFrame 增加数据

Pandas 中的 loc 方法可以用来增加单行或多行数据到 DataFrame 中,同时可以指定要添加数据的列标签。下面是使用 loc 方法给 DataFrame 增加一行数据的示例代码:

new_row = {'姓名': '赵六', '年龄': 28, '城市': '深圳'}
df.loc[len(df)] = new_row

print(df)

Output:

  姓名  年龄  城市
0  张三  21  北京
1  李四  25  上海
2  王五  30  广州
3  赵六  28  深圳

在上述代码中,我们首先创建了一个字典 new_row,其中包含了要增加的数据。然后使用 loc 方法,通过指定 len(df) 来选择新的行下标,并将 new_row 赋值给行索引为 len(df) 的位置。

3.2 使用列表给 DataFrame 增加数据

除了使用 loc 方法,我们还可以将要添加的数据作为一个列表传递给 DataFrame 的 append 方法。下面是使用 append 方法给 DataFrame 增加一行数据的示例代码:

new_row = ['赵六', 28, '深圳']
df = df.append(pd.Series(new_row, index=df.columns), ignore_index=True)

print(df)

Output:

  姓名  年龄  城市
0  张三  21  北京
1  李四  25  上海
2  王五  30  广州
3  赵六  28  深圳

在上述代码中,我们创建了一个列表 new_row,其中包含了要增加的数据。然后使用 append 方法将 new_row 添加到 DataFrame 中,并通过传递参数 ignore_index=True 来确保新添加的数据重新排序并分配新的整数索引。

4. 增加多行数据

当我们需要一次性增加多行数据到 DataFrame 中时,我们可以创建一个包含多个字典的列表,然后将其添加到 DataFrame 中。下面是一个示例代码:

new_rows = [{'姓名': '赵六', '年龄': 28, '城市': '深圳'},
            {'姓名': '钱七', '年龄': 32, '城市': '天津'},
            {'姓名': '孙八', '年龄': 35, '城市': '重庆'}]

df = df.append(new_rows, ignore_index=True)

print(df)

Output:

  姓名  年龄  城市
0  张三  21  北京
1  李四  25  上海
2  王五  30  广州
3  赵六  28  深圳
4  钱七  32  天津
5  孙八  35  重庆

在上述代码中,我们创建了一个包含多个字典的列表 new_rows,其中每个字典表示一行要增加的数据。然后使用 append 方法将 new_rows 添加到 DataFrame 中,并通过传递参数 ignore_index=True 来确保新添加的数据重新排序并分配新的整数索引。

5. 增加单个列数据

有时,我们需要在现有 DataFrame 上增加一个新的列,以补充已有数据的维度。下面是一个示例代码,通过字典的键作为列标签,字典的值作为该列的数据来增加新的列:

new_column = {'性别': ['男', '女', '男', '女', '男', '男']}
df = pd.concat([df, pd.DataFrame(new_column)], axis=1)

print(df)

Output:

  姓名  年龄  城市 性别
0  张三  21  北京  男
1  李四  25  上海  女
2  王五  30  广州  男
3  赵六  28  深圳  女
4  钱七  32  天津  男
5  孙八  35  重庆  男

在上述代码中,我们首先创建了一个字典 new_column,其中键为列标签,值为该列的数据。然后使用 concat 方法将新列与原 DataFrame 在列方向上合并,并通过指定参数 axis=1 来进行列合并。

6. 增加多个列数据

在某些情况下,我们需要一次性增加多个新的列到 DataFrame 中。下面是一个示例代码,通过多个字典来增加多个列:

new_columns = {'性别': ['男', '女', '男', '女', '男', '男'],
               '学历': ['本科', '硕士', '本科', '硕士', '本科', '本科']}
df = pd.concat([df, pd.DataFrame(new_columns)], axis=1)

print(df)

Output:

  姓名  年龄  城市 性别  学历
0  张三  21  北京  男  本科
1  李四  25  上海  女  硕士
2  王五  30  广州  男  本科
3  赵六  28  深圳  女  硕士
4  钱七  32  天津  男  本科
5  孙八  35  重庆  男  本科

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程