系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
这个系列讲讲Python的科学计算及可视化今天讲讲pandas模块将Df按行按列进行转换
Part 1:目标
最近在网站开发过程中,需要将后端的Df数据,渲染到前端的Datatables,前端识别的数据格式有以下特征 - 数据格式为一个列表 - 列表中每一个元素为一个字典,每个字典对应前端表格的一行 - 单个字典的键为前端表格的列名,字典的值为前端表格每列取的值简单来说就是要将一个Df转换为一个列表,该列表有特定的格式,如下示例
Df 格式转换为列表
Part 2:代码
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
)
代码截图
Part 3:部分代码解读
list_fields = df_1.to_dict(orient='records'),使用了to_dict函数,其中orient=‘records’,简单记忆法则,records表示记录,对应数据库的行
Part 4:延伸
以上方法将Df按行转换,那么是否可以按列进行转换呢?查了下orient参数,发现可以取值的参数非常多,如下图所示发现list满足需求,观察实际输出结果,生成一个字典。字典的键为列名,值为一个列表,该列表对应df的一个列
dict_fields
= df_1
.to_dict
(orient
='list')
print(dict_fields
)
list对应结果
本文为原创作品,欢迎分享朋友圈
长按图片识别二维码,关注本公众号 Python 优雅 帅气