Google专卖店顾客消费预测问题:如何将数据的json格式转换成csv格式
机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
案例介绍
商界普遍存在"80/20"原则——20%的顾客产生80%的消费。在这个案例里,我们将根据Google专卖店顾客消费数据集,预测每位顾客的消费金额。
数据描述
该案例包括训练集train_v2.csv
和检验集test_v2.csv
.
train_v2.csv: 包括从2016.8.1——2018.4.30的顾客交易信息。
test_v2.csv: 包括从2018.5.1——2018.10.15的顾客交易信息。
数据集的每一行表示对该专卖店的一次访问,我们要预测的是每位顾客总消费额的对数值。
数据域
fullVisitorId: 顾客唯一标识符
channelGrouping: 顾客渠道
date: 顾客光顾日期
device: 进店设备
geoNetwork: 顾客地理位置信息
sessionId: 访问唯一标识符
socialEngagementType: 参与类型
totals: 消费总额
trafficSource: 流量来源
visitId: 访问标识符
visitNumber: 访问次数
visitStartTime: 访问开始时间
请注意:以上某些域是json
格式,我们需要将所有的json
域转换成规则的csv
文件。
JSON数据格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式存储和表示数据。在json语法里
数据在名称/值对中:名称是字符串,使用双引号表示。值可以是:数字(整数或浮点数),字符串(在双引号中),数组(在方括号中),对象(在花括号中),true/false/null.
数据由逗号分隔:
花括号保存对象:对象可以包含各种数据类型,包括数组。
方括号保存数组:数字可以包含对象。
举一个json对象的例子:
格式转换
加载必需的库。
import os
import json
import numpy as np
import pandas as pd
from pandas.io.json import json_normalize
加载一部分训练集,查看变量的类型。
train = pd.read_csv('../input/train_v2.csv', nrows = 100)
train.info()
train = pd.read_csv('e:/kaggle_exercises/CustomerRevenue/input/train_v2.csv', nrows = 100)
train.info()
其中,‘device’, ‘geoNetwork’, ‘totals’, 'trafficSource’是json格式的变量。我们把这些变量转换成普通的csv
格式,与其它变量组成新的csv文件。
def load_df(csv_path='e:/kaggle_exercises/CustomerRevenue/input/train_v2.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
定义转换函数load_df()
后,加载20,000行训练子集,看看转换的结果。
%%time
df_small = load_df(nrows=200000)
Loaded train_v2.csv. Shape: (200000, 26)
Wall time: 1min 11s
df_small.info()
转换完整的训练集与检验集。
%%time
df_train = load_df()
df_test = load_df("../input/test.csv")
把转换后的数据集保存为新的csv
文件。
%%time
df_train.to_csv("train-flattened.csv", index=False)
df_test.to_csv("test-flattened.csv", index=False)
Google专卖店顾客消费预测问题:如何将数据的json格式转换成csv格式相关推荐
- 【Android 安装包优化】WebP 图片转换 ( 使用 iSparta 转换 WebP 图片格式 | Google 提供的 libwebp 库 )
文章目录 一.使用 iSparta 转换 WebP 图片格式 二.Google 提供的 libwebp 库 三.参考资料 一.使用 iSparta 转换 WebP 图片格式 isparta 工具已经停 ...
- 《顾客消费心理分析与服务营销技巧》
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> <顾 ...
- 2014世界杯预测与开源大数据
开源的精神在于使用者可以使用.复制.散布.研究.改进代码或软件.而当今如火如荼的世界杯又和开源有什么关系呢?全球首家开发者服务商店来为大家讲解下 记得巴西世界杯在圣保罗体育场开幕的第二天 ...
- LEAP能源供应转换、能源需求及碳排放预测中的基础数据搜集及处理、能源平衡表核算、模型框架构建、模型操作、情景设计、结果分析、优化、预测结果不确定性分析
采用部门分析法建立的LEAP(Long Range Energy Alternatives Planning System/ Low emission analysis platform,长期能源可替 ...
- 快来看看Google出品的Protocol Buffer,别仅仅会用Json和XML了
前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 事实上 是 Google出品的一种轻量 & 高效的结构化数据 ...
- GPS模块输出的NMEA数据ddmm.mmmm转换成dd.ddddd,在google Earth Pro中描点
GPS模块输出的数据是NMEA格式,其中GPGGA字段包含我们需要的经纬度信息. 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,12.2 ...
- DL之LSTM之MvP:基于TF利用LSTM基于DIY时间训练csv文件数据预测后100个数据(多值预测)状态
DL之LSTM之MvP:基于TF利用LSTM基于DIY时间训练csv文件数据预测后100个数据(多值预测)状态 目录 数据集csv文件内容 输出结果 设计思路 训练记录全过程 数据集csv文件内容 输 ...
- DL之LSTM之UvP:基于TF利用LSTM基于DIY时间训练1200个数据预测后200个数据状态
DL之LSTM之UvP:基于TF利用LSTM基于DIY时间训练1200个数据预测后200个数据状态 目录 输出结果 设计思路 训练记录全过程 输出结果 设计思路 训练记录全过程 INFO:tensor ...
- opta球员大数据预测胜负_大数据预测简介及使用流程
中足网大数据预测,是基于中足网以及多家主流数据提供商的数据库,汇总数万场比赛的盘口和热度信息得出的人工智能预测模型,经过专家团数月研制,不断调整算法,命中率已经达到行业内相当高的水平. 1 目前预测玩 ...
- 使用GEE(Google Earth Engine)下载STRM30m分辨率高程数据
简介 本文介绍如何使用GEE(Google Earth Engine)下载STRM30m分辨率高程数据并用ArcMap加载行政边界裁剪栅格图层. 准备工作 申请Google账号 注册Google Dr ...
最新文章
- Moses 里的参数(未完成)
- uvalive5986(贪心)
- c语言的数据类型复数型,C语言数据类型
- C语言,为什么动态内存分配申请后,还要再释放?
- kali root默认密码_Kali Linux root 默认密码是:toor
- LeetCode-697. 数组的度
- python函数返回布尔值_python-3.x - 函数不返回正确的布尔值 - SO中文参考 - www.soinside.com...
- 计算机组装的虚拟仿真实验报告,组装计算机的虚拟实验室
- Java旅游网站源码+页面
- 百旺智能编码_【百旺开票软件税控盘版】百旺金税盘开票软件下载 v2020 最新版本-趣致软件园...
- Java实现拼图小游戏(3)—— 添加图片(含JFrame源码阅读)
- 电子邮件群发最好用的邮箱是哪个?
- Windows命令窗口输入命令报错不是内部或外部命令,也不是可运行的程序 或批处理文件
- 2021年度排第一名的微信段子,笑晕了,太经典
- 互联网公司的监控运维
- 【生活随笔】夜色漫步
- html前端小知识:制作简单的纯文字图标按钮
- Ajax 不显示BlockUI 的问题
- 华为鸿蒙系统没有芯片,被低估的鸿蒙系统,未来或将解决华为缺芯的难题
- 媒体中心软件专题:XBMC
热门文章
- 蛇形填数 ------- 模拟水题
- OpenStack源码系列---nova-conductor
- rails 开发随手记 9
- ASP实现AJAX的几种方式!
- web安全day47:口令、字典、crunch、cupp、hydra、MSF-psexec_psh的使用
- HTML的文本可以删除吗,如果内部包含一些文本,请删除html标记
- 基于Cocos2d-x开发guardCarrot--7 《保卫萝卜2》关卡选择页面开发
- kickstart技术安装操作系统
- Python自学笔记-map和reduce函数(来自廖雪峰的官网Python3)
- 转:面试题收集——Java基础部分(一)