Python-科学计算-pandas-14-df按行按列进行转换

系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2
pandas:0.19.2

  • 这个系列讲讲Python的科学计算及可视化
  • 今天讲讲pandas模块
  • 将Df按行按列进行转换

Part 1:目标

  1. 最近在网站开发过程中,需要将后端的Df数据,渲染到前端的Datatables,前端识别的数据格式有以下特征
    - 数据格式为一个列表
    - 列表中每一个元素为一个字典,每个字典对应前端表格的一行
    - 单个字典的键为前端表格的列名,字典的值为前端表格每列取的值
  2. 简单来说就是要将一个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:部分代码解读

  1. list_fields = df_1.to_dict(orient='records'),使用了to_dict函数,其中orient=‘records’,简单记忆法则,records表示记录,对应数据库的行

Part 4:延伸

  1. 以上方法将Df按行转换,那么是否可以按列进行转换呢?查了下orient参数,发现可以取值的参数非常多,如下图所示
  2. 发现list满足需求,观察实际输出结果,生成一个字典。字典的键为列名,值为一个列表,该列表对应df的一个列
dict_fields = df_1.to_dict(orient='list')
print(dict_fields)

在这里插入图片描述

list对应结果
在这里插入图片描述

本文为原创作品,欢迎分享朋友圈

长按图片识别二维码,关注本公众号
Python 优雅 帅气
12x0.8.jpg

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值