机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)

JSON介绍

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,方便人们阅读和编写。任何支持的数据类型都可以通过json来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型,其特点是:

  • 对象表示为键值对

  • 数据由逗号分隔

  • 花括号保存对象

  • 方括号保存数组

JSON 键值对是用来保存 JS 对象的一种方式。键/值对组合中的键名写在前面并用双引号 “” 包裹,使用冒号 : 分隔,然后紧接着值,例如:

{"firstName": "Json"}

JSON转成CSV

通常,数据文件是CSV格式的,即,数据之间用逗号分隔的形式。因此,当一个数据文件里有json变量时,需要先将这些变量转换成规则的csv格式,然后再加载统一成csv格式的数据集。

load_df()函数

自定义的函数load_df(), 实现转换json, 加载csv数据集的作用。

import os
import json
import numpy as np
import pandas as pd
from pandas.io.json import json_normalize
​
def load_df(csv_path='../input/train.csv', nrows=None):JSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource']df = pd.read_csv(csv_path, converters={column: json.loads for column in JSON_COLUMNS}, dtype={'fullVisitorId': 'str'}, # Important!!nrows=nrows)for column in JSON_COLUMNS:column_as_df = json_normalize(df[column])column_as_df.columns = [f"{column}.{subcolumn}" for subcolumn in column_as_df.columns]df = df.drop(column, axis=1).merge(column_as_df, right_index=True, left_index=True)print(f"Loaded {os.path.basename(csv_path)}. Shape: {df.shape}")return df

数据实践

加载前的数据集

这里的变量’device’, ‘geoNetwork’, ‘totals’, 'trafficSource’是json类型。

加载后的数据集

更多精彩内容请关注微信公众号“统计学习与大数据

【Python小程序】第3讲:如何将json数据转换成csv格式?相关推荐

  1. python日历小程序_一个查看网络设备信息Python小程序

    原标题:一个查看网络设备信息Python小程序 网络编程中,最常见的一个问题就是,获取设备信息. 首先我们,要学习如何获取本机的网络信息.我们将用到标准库中的socket库.假如说,我们要查看本机的 ...

  2. 简单的python小程序祝福母亲,母亲节快乐!

    简单的python小程序祝福母亲,母亲节快乐! 今天是星期天,也是母亲节, 不禁意识到二十二岁的我如此年轻,四十多岁的母亲似乎不再年轻. 今天编写了一个简单的python小程序. 代码如下,仅供参考. ...

  3. python3经典小程序代码_一个可以套路别人的python小程序实例代码

    python可以开发什么?谁有python小程序的源代码,...桌面程序,web都可以,还有比如现在讲的多的人工智能,神经网络源码可以去找一些开源代码,搜索一下,蛮多的. 分享python小程序代码练 ...

  4. python恶搞小程序-有趣的python小程序

    有趣的python小程序 1.密码生成器x=int(input()) print(''.join(__import__('random').choice('QWERTYUIOPASDFGHJKLZXC ...

  5. 几个python小程序

    python小程序 1-100求和 1 def Sum(x, y): 2 return x+y 3 print reduce(lambda x,y:x+y,range(1,101)) 4 5 i = ...

  6. 人工智能python小程序_Python:一个可以套路别人的python小程序

    一个可以套路别人的python小程序~ 先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了py ...

  7. python如何运行一个python程序_python如何运行?第一个python小程序示范

    我们想要用python编程首先要做的就是安装一些工具,随后学会应用.那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1.Python 3.6.5(我安装的,还有很多版本 ...

  8. 有趣的python小程序

    有趣的python小程序 1.密码生成器 x=int(input()) print(''.join(__import__('random').choice('QWERTYUIOPASDFGHJKLZX ...

  9. python有趣小程序代码-一个可以套路别人的python小程序实例代码

    先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了python中的socket包. 咳咳,使用 ...

  10. 有趣python小程序系列之一

    文章目录 前言 一.飘落的银杏 二.代码部分 1.导入所需的库 2.生成斐波那契数列 3.定义生成叶子的方法 4.定义生成树的方法 5.主函数部分 三.结果展示 前言 关于学python的初衷,如图, ...

最新文章

  1. [蓝桥杯][历届试题]网络寻路(DFS)
  2. 什么是互联网大厂_2020阿里、腾讯、字节跳动等14家互联网大厂薪资水平大汇总...
  3. 【Win 10 应用开发】分析 URI 中的查询字符串
  4. 从一个实例看编程水平的步步提高
  5. 领导再也不会因为模型刷新不出来批评我啦---论IE扩内存(转载)
  6. centos yum 安装mysql
  7. WinForm 实例教程 通讯录 视频教程 入门教程
  8. C++两个类互相引用,如何处理最好
  9. [012计算机网络系列] | Cisco packet 怎样清空一台PC的ARP Table?
  10. 电商运营分享:关于双11的淘宝客无节操赚钱干货
  11. SSH内网能连通外网连接时拒绝
  12. android o 结构光流程,OPPO 3D结构光技术完成,下半年实现量产,O粉们期待吗?
  13. jmeter阶梯式加压(逐渐加压和降压)
  14. 基于802.1x协议的接入认证简单实现
  15. MySQL的下载和配置
  16. Kubernetes 笔记 06 豌豆荚之旅(一)
  17. Android 打飞机小游戏 cocos2d
  18. 做一个简易计算器(VB版)
  19. ThinkPad应用软件操作指南
  20. 实现厕所门锁智能化,案使用涂鸦 Zigbee 模组作为主控,功耗低,效率高(内涵原理图)

热门文章

  1. 马化腾:互联网企业竞争要注重什么
  2. H3CPPPOE拨号
  3. Cocos2d-x中常用的类
  4. NYOJ--41--三个数从小到大排序
  5. svg 贝塞尔曲线图解(记录)
  6. 如何注释ascx中的代码
  7. 颠覆大数据分析之结论
  8. zabbix+ldap认证故障解决一例
  9. pyhon基础(一)
  10. leetcode之Contains Duplicate