Pandas 创建 DataFrame

Pandas 创建 DataFrame

Pandas 创建 DataFrame

简介

Pandas 是一个开源的 Python 数据分析库,提供了丰富的数据结构和数据处理工具,特别适用于处理结构化或标记数据。其中核心的数据结构是 DataFrame,它可以将数据以表格的形式进行存储和操作。本文将详细介绍如何使用 Pandas 创建 DataFrame,以及常用的创建方式和参数。

安装 Pandas

在创建 DataFrame 之前,我们需要先安装 Pandas。可以使用以下命令通过 pip 安装最新版本的 Pandas:

pip install pandas

导入 Pandas

安装完 Pandas 后,就可以在 Python 脚本中导入 Pandas 模块了。通常我们使用 import 语句导入 Pandas,并约定使用 pd 作为别名:

import pandas as pd

使用字典创建 DataFrame

Pandas 的 DataFrame 可以由各种数据结构创建,其中最常用的方式是使用 Python 字典。我们可以把一个字典的键作为列名,值作为列的数据,从而创建一个 DataFrame。

以下是一个示例,通过一个字典创建一个包含学生信息的 DataFrame:

import pandas as pd

# 创建字典
data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [20, 22, 21],
        '成绩': [85, 90, 95]}

# 创建 DataFrame
df = pd.DataFrame(data)

# 打印 DataFrame
print(df)

运行以上代码,可以得到输出:

  姓名  年龄  成绩
0  张三  20  85
1  李四  22  90
2  王五  21  95

可以看到,通过字典创建的 DataFrame 的列顺序与原始字典中的键的顺序相同。

使用 Series 创建 DataFrame

Series 是 Pandas 的另一个重要数据结构,可以看作是只有一列的 DataFrame。我们可以把多个 Series 组合起来,从而得到一个完整的 DataFrame。

以下是一个示例,通过多个 Series 创建一个包含学生信息的 DataFrame:

import pandas as pd

# 创建多个 Series
names = pd.Series(['张三', '李四', '王五'])
ages = pd.Series([20, 22, 21])
scores = pd.Series([85, 90, 95])

# 创建 DataFrame
df = pd.DataFrame({'姓名': names, '年龄': ages, '成绩': scores})

# 打印 DataFrame
print(df)

运行以上代码,可以得到与之前相同的输出:

  姓名  年龄  成绩
0  张三  20  85
1  李四  22  90
2  王五  21  95

可以看到,通过多个 Series 创建的 DataFrame 的列顺序与创建时指定的顺序相同。

使用列表创建 DataFrame

除了使用字典和 Series,我们还可以使用列表来创建一个 DataFrame。列表中的每个元素代表 DataFrame 中的一行数据。

以下是一个示例,通过列表创建一个包含学生信息的 DataFrame:

import pandas as pd

# 创建列表
data = [['张三', 20, 85],
        ['李四', 22, 90],
        ['王五', 21, 95]]

# 创建 DataFrame
df = pd.DataFrame(data, columns=['姓名', '年龄', '成绩'])

# 打印 DataFrame
print(df)

运行以上代码,可以得到与之前相同的输出:

  姓名  年龄  成绩
0  张三  20  85
1  李四  22  90
2  王五  21  95

可以看到,通过列表创建的 DataFrame 可以指定列的顺序,列的名称由 columns 参数指定。

使用 NumPy 数组创建 DataFrame

除了以上介绍的方法,我们还可以使用 NumPy 数组创建 DataFrame。NumPy 是 Python 的一个重要科学计算库,提供了丰富的数组操作功能。

以下是一个示例,通过 NumPy 数组创建一个包含学生信息的 DataFrame:

import pandas as pd
import numpy as np

# 创建 NumPy 数组
data = np.array([['张三', 20, 85],
                ['李四', 22, 90],
                ['王五', 21, 95]])

# 创建 DataFrame
df = pd.DataFrame(data)

# 打印 DataFrame
print(df)

运行以上代码,可以得到与之前相同的输出:

    0   1   2
0  张三  20  85
1  李四  22  90
2  王五  21  95

可以看到,使用 NumPy 数组创建的 DataFrame 的列名默认为整数。

使用CSV文件创建 DataFrame

除了以上介绍的直接创建 DataFrame 的方法,我们还可以使用读取 CSV 文件的方式创建一个 DataFrame。CSV 文件是一种常见的以逗号分隔的文本文件,常用于存储结构化的数据。

以下是一个示例,通过读取名为 students.csv 的 CSV 文件创建一个包含学生信息的 DataFrame:

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('students.csv')

# 打印 DataFrame
print(df)

需要注意的是,CSV 文件需要与 Python 脚本在同一个目录下,或者使用文件的完整路径。

DataFrame 基本信息

创建了 DataFrame 后,我们可以使用一些方法来查看 DataFrame 的基本信息。

查看头部和尾部数据

使用 head() 方法可以查看 DataFrame 的开头几行,默认显示前 5 行。使用 tail() 方法可以查看 DataFrame 的结尾几行,默认显示最后 5 行。

以下是一个示例:

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('students.csv')

# 查看头部数据,默认显示前 5 行
print(df.head())

# 查看尾部数据,默认显示最后 5 行
print(df.tail())

获取列名

使用 columns 属性可以获取 DataFrame 的所有列名。

以下是一个示例:

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('students.csv')

# 获取列名
print(df.columns)

获取行数和列数

使用 shape 属性可以获取 DataFrame 的行数和列数。

以下是一个示例:

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('students.csv')

# 获取行数和列数
print(df.shape)

小结

本文详细介绍了如何使用 Pandas 创建 DataFrame,以及常用的创建方式和参数。通过字典、Series、列表、NumPy 数组和读取 CSV 文件等多种方式创建 DataFrame,可以方便地处理和分析结构化数据。同时,我们也了解了如何查看 DataFrame 的基本信息。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程