Pandas DataFrame行列转换技巧
在本文中,我们将探讨如何使用Python中的pandas库将DataFrame(以下简称Df)数据转换为特定的格式,以便在前端的Datatables中渲染。今天的重点是如何将Df按行和按列进行转换。目标在网站开发过程中,经常需要将后端的Df数据转换成前端Datatables可识别的格式。这种格式通常是一个列表,其中每个元素是一个字典,字典的键对应前端表格的列名,值则对应表格的单元格值。以下是一个示例Df及其转换后的格式:转换后的列表格式如下:代码以下是实现上述转换的Python代码:importpand
在本文中,我们将探讨如何使用Python中的pandas库将DataFrame(以下简称Df)数据转换为特定的格式,以便在前端的Datatables中渲染。今天的重点是如何将Df按行和按列进行转换。
目标
在网站开发过程中,经常需要将后端的Df数据转换成前端Datatables可识别的格式。这种格式通常是一个列表,其中每个元素是一个字典,字典的键对应前端表格的列名,值则对应表格的单元格值。以下是一个示例Df及其转换后的格式:

转换后的列表格式如下:

代码
以下是实现上述转换的Python代码:
import pandas as pd
dict_1 = {"time": ["2019-11-02", "2019-11-03", "2019-11-04", "2019-11-05",
"2019-12-02", "2019-12-03", "2019-12-04", "2019-12-05"],
"pos": ["A", "A", "B", "B", "C", "C", "C", "D"],
"value1": [10, 20, 30, 40, 50, 60, 70, 80]}
df_1 = pd.DataFrame(dict_1, columns=["time", "pos", "value1"])
print("原数据", "\n", df_1, "\n")
print("\n按行输出")
list_fields = df_1.to_dict(orient='records')
print(list_fields)代码截图:

部分代码解读
list_fields = df_1.to_dict(orient='records') 这一行代码使用了to_dict函数,其中orient='records'参数表示按行输出。简单来说,records表示记录,相当于数据库中的一行。
延伸
除了按行转换,pandas也支持按列转换。通过查阅orient参数的可选值,发现list可以满足按列转换的需求。按列转换的结果是一个字典,字典的键为列名,值为一个列表,该列表对应Df的一个列。以下是实现按列转换的代码:
dict_fields = df_1.to_dict(orient='list') print(dict_fields)
按列转换的代码截图:

按列转换的结果:

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















