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 的基本信息。