pandas.DataFrame.to_json按行转json
来源:互联网 发布:阿里云怎么修改手机号 编辑:程序博客网 时间:2024/05/16 12:37
最近需要将csv文件转成DataFrame并以json的形式展示到前台,故需要用到Dataframe的to_json方法
to_json方法默认以列名为键,列内容为值,形成{col1:[v11,v21,v31…],col2:[v12,v22,v32],…}这种格式,但有时我们需要按行来转为json,形如这种格式[row1:{col1:v11,col2:v12,col3:v13…},row2:{col1:v21,col2:v22,col3:v23…}]
通过查找官网我们可以看到to_json方法有一个参数为orient,其参数说明如下:
orient : string
Series
default is ‘index’
allowed values are: {‘split’,’records’,’index’}
DataFrame
default is ‘columns’
allowed values are: {‘split’,’records’,’index’,’columns’,’values’}
The format of the JSON string
split : dict like {index -> [index], columns -> [columns], data -> [values]}
records : list like [{column -> value}, … , {column -> value}]
index : dict like {index -> {column -> value}}
columns : dict like {column -> {index -> value}}
values : just the values array
table : dict like {‘schema’: {schema}, ‘data’: {data}} describing the data, and the data component is like orient=’records’.
Changed in version 0.20.0
大致意思为:
- 如果是Series转json,默认的orient是’index’,orient可选参数有 {‘split’,’records’,’index’}
- 如果是DataFrame转json,默认的orient是’columns’,orient可选参数有 {‘split’,’records’,’index’,’columns’,’values’}
- json的格式如下
- split,样式为 {index -> [index], columns -> [columns], data -> [values]}
- records,样式为[{column -> value}, … , {column -> value}]
- index ,样式为 {index -> {column -> value}}
- columns,样式为 {index -> {column -> value}}
- values,数组样式
- table,样式为{‘schema’: {schema}, ‘data’: {data}},和records类似
看一下官网给的demo
df = pd.DataFrame([['a', 'b'], ['c', 'd']], index=['row 1', 'row 2'], columns=['col 1', 'col 2'])###########split###########df.to_json(orient='split')>'{"columns":["col 1","col 2"], "index":["row 1","row 2"], "data":[["a","b"],["c","d"]]}'###########index###########df.to_json(orient='index')>'{"row 1":{"col 1":"a","col 2":"b"},"row 2":{"col 1":"c","col 2":"d"}}'###########records###########df.to_json(orient='index')>'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'###########table###########df.to_json(orient='table')>'{"schema": {"fields": [{"name": "index", "type": "string"}, {"name": "col 1", "type": "string"}, {"name": "col 2", "type": "string"}], "primaryKey": "index", "pandas_version": "0.20.0"}, "data": [{"index": "row 1", "col 1": "a", "col 2": "b"}, {"index": "row 2", "col 1": "c", "col 2": "d"}]}'
主要参考官网API:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html
- pandas.DataFrame.to_json按行转json
- Pandas to_json() 中文乱码,转化为json数组
- Pandas DataFrame
- Pandas(DataFrame)
- pandas-dataframe
- pandas.DataFrame.any与pandas.DataFrame.all
- Pandas之DataFrame操作
- Pandas.Dataframe使用小结
- Pandas之Dataframe操作
- pandas.DataFrame 操作
- Pandas学习:DataFrame
- pandas.DataFrame.to_csv
- pandas string转dataframe
- Pandas DataFrame操作
- pandas之DataFrame创建
- pandas.Dataframe 的合并
- pandas.DataFrame.iterrows
- pandas.DataFrame.append
- 自注册DM(五)中国移动CMCC移动DM适配指南和注意事项和常见问题分析
- VR不仅用于游戏!HTC Vive显示美国市长VR用于城市规划
- 解决安卓真机测试INSTALL_CANCELED_BY_USER错误
- 5.23 人工智能 ——江湖上传说再起
- JavaScript:基本使用
- pandas.DataFrame.to_json按行转json
- npm模块之http-proxy-middleware使用教程(译)
- 1050. 螺旋矩阵(25)
- Unity3d 禁止头盔Position仅仅实现旋转(Only Rotation)
- 点击应用报App isn't installed,或者Run完并成功后应用没有在手机上安装标问题
- 爱立信和威瑞森电信使用VR流式车来测试5G
- 3D立体相册,一个可旋转的立体相册
- 机器学习笔记(十五)规则学习
- 功耗测试