杰瑞科技汇

Python如何定义DataFrame?

在 Python 中,定义(创建)DataFrame 主要使用 pandas 库。pandas 是一个强大的数据分析工具,而 DataFrame 是其核心数据结构,类似于一个二维表格或电子表格。

Python如何定义DataFrame?-图1
(图片来源网络,侵删)

以下是几种定义 DataFrame 的常用方法,从最基本到更复杂的场景。

准备工作:首先导入 pandas

在使用 pandas 之前,你需要先导入它,我们使用 pd 作为其别名。

import pandas as pd

使用字典创建 (最常用)

这是最直观、最常用的方法,字典的 将成为 DataFrame 的 列名,字典的 (列表、数组等)将成为对应列的数据。

示例 1:基本用法

import pandas as pd
# 1. 准备数据:使用字典
data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [25, 30, 28, 35],
    '城市': ['北京', '上海', '广州', '深圳']
}
# 2. 创建 DataFrame
df = pd.DataFrame(data)
# 3. 打印 DataFrame
print(df)

输出:

Python如何定义DataFrame?-图2
(图片来源网络,侵删)
  姓名  年龄  城市
0  张三  25  北京
1  李四  30  上海
2  王五  28  广州
3  赵六  35  深圳

示例 2:指定行索引 (index)

你可以自定义每一行的标签,而不仅仅是默认的 0, 1, 2...

import pandas as pd
data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [25, 30, 28, 35],
    '城市': ['北京', '上海', '广州', '深圳']
}
# 使用 index 参数指定行索引
df = pd.DataFrame(data, index=['ID001', 'ID002', 'ID003', 'ID004'])
print(df)

输出:

      姓名  年龄  城市
ID001  张三  25  北京
ID002  李四  30  上海
ID003  王五  28  广州
ID004  赵六  35  深圳

使用列表的列表创建

如果你的数据是按行组织的,可以使用列表的列表,你需要额外指定列名。

import pandas as pd
# 1. 准备数据:一个包含多个列表的列表(每个子列表代表一行)
data_rows = [
    ['张三', 25, '北京'],
    ['李四', 30, '上海'],
    ['王五', 28, '广州'],
    ['赵六', 35, '深圳']
]
# 2. 指定列名
columns = ['姓名', '年龄', '城市']
# 3. 创建 DataFrame
df = pd.DataFrame(data_rows, columns=columns)
print(df)

输出:

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

使用 NumPy 数组创建

如果你的数据是数值型的,并且已经存储在 NumPy 数组中,可以直接创建 DataFrame。

import pandas as pd
import numpy as np
# 1. 准备数据:一个 NumPy 数组
data_array = np.array([
    [1, 'A', 100],
    [2, 'B', 200],
    [3, 'C', 300]
])
# 2. 指定列名
columns = ['ID', 'Grade', 'Score']
# 3. 创建 DataFrame
df = pd.DataFrame(data_array, columns=columns)
print(df)

输出:

   ID Grade  Score
0   1     A    100
1   2     B    200
2   3     C    300

从文件创建 (非常实用)

在实际应用中,DataFrame 通常不是手动创建的,而是从外部文件(如 CSV, Excel)读取而来。

从 CSV 文件创建

假设你有一个名为 data.csv 的文件,内容如下:

姓名,年龄,城市
张三,25,北京
李四,30,上海
王五,28,广州

你可以使用 pd.read_csv() 来创建 DataFrame:

import pandas as pd
# 从 CSV 文件读取数据并创建 DataFrame
df_from_csv = pd.read_csv('data.csv')
print(df_from_csv)

从 Excel 文件创建

假设你有一个名为 data.xlsx 的 Excel 文件:

import pandas as pd
# 从 Excel 文件读取数据并创建 DataFrame
# 需要安装 openpyxl 或 xlrd 库: pip install openpyxl
df_from_excel = pd.read_excel('data.xlsx')
print(df_from_excel)

创建一个空的 DataFrame

有时你可能需要先创建一个空的 DataFrame,然后在循环或条件判断中逐行添加数据。

import pandas as pd
# 创建一个空的 DataFrame,并指定列名
empty_df = pd.DataFrame(columns=['姓名', '年龄', '城市'])
print(empty_df)

输出:

Empty DataFrame
Columns: [姓名, 年龄, 城市]
Index: []
创建方式 适用场景 示例代码
字典 数据按列组织,最常用 pd.DataFrame({'A': [1, 2]})
列表的列表 数据按行组织 pd.DataFrame([[1, 2]], columns=['A', 'B'])
NumPy 数组 数据为数值型,来自 NumPy pd.DataFrame(np.array([[1, 2]]))
文件 从 CSV, Excel 等外部数据源加载 pd.read_csv('file.csv')
空 DataFrame 初始化一个空表,用于后续填充 pd.DataFrame(columns=['A', 'B'])

对于初学者而言,掌握使用字典创建 DataFrame 是最重要的第一步。

分享:
扫描分享到社交APP
上一篇
下一篇