3.5 如何解决运营数据源的冲突问题


说明:本文是《Python数据分析与数据化运营》中的“3.5 如何解决运营数据源的冲突问题”。 -----------------------------下面是正文内容--------------------------

多运营数据源冲突指的是来自于多个或同一个系统、环境、平台和工具中,相同业务逻辑的数据其结果不同。根据冲突的差异特征,可分为以下几种类型:

  • 数据类型冲突。同一数据对象的数据格式不同,例如会员注册时间这一字段其存储格式有日期、时间戳两种。
  • 数据结构冲突。对于同一个数据主体的描述结构有冲突,典型代表是关联主键ID值有不同的逻辑结构,导致后期多源数据匹配和关联尤其复杂。
  • 记录粒度不

继续阅读

3.4 解决样本类别分布不均衡的问题


说明:本文是《Python数据分析与数据化运营》中的“3.4 解决样本类别分布不均衡的问题”。 -----------------------------下面是正文内容--------------------------

所谓的不平衡指的是不同类别的样本量异非常大。样本类别分布不平衡主要出现在分类相关的建模问题上。样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数据分布不均衡两种。

  • 大数据分布不均衡。这种情况下整体数据规模大,只是其中的少样本类的占比较少。但是从每个特征的分布来看,小样本也覆盖了大部分或全部的特征。例如拥有1000万条记录的数据集中,其中占比50万条的少数分类样本便

继续阅读

3.3 大数据时代,数据化运营还需要降维吗


说明:本文是《Python数据分析与数据化运营》中的“3.3 大数据时代,数据化运营还需要降维吗”。 -----------------------------下面是正文内容-------------------------- 数据降维就是降低数据的维度数量,数据降维是维数归约的一个重要课题。

3.3.1 什么情况下需要降维

数据降维可以降低模型的计算量并减少模型运行时间、降低噪音变量信息对于模型结果的影响、便于通过可视化方式展示归约后的维度信息并减少数据存储空间。因此,大多数情况下,当我们面临高维数据时,都需要对数据做降维处理。是否进行降维主要考虑以下方面:

  • 维度数量。降维的基本前提是高维

继续阅读

3.2 将分类数据和顺序数据转换为标志变量


说明:本文是《Python数据分析与数据化运营》中的“3.2 将分类数据和顺序数据转换为标志变量”。 -----------------------------下面是正文内容-------------------------- 分类数据和顺序数据是常见的数据类型,这些值主要集中在围绕数据实体的属性和描述的相关字段和变量中。

3.2.1 分类数据和顺序数据是什么

在数据建模过程中,很多算法无法直接处理非数值型的变量。例如KMeans算法是基于距离的相似度计算,而字符串则无法直接计算距离。另外,即使算法本身支持,很多算法实现包也无法直接基于字符串做矩阵运算,例如Numpy以及基于Numpy的skl

继续阅读

3.1 数据清洗:缺失值、异常值和重复值的处理-2代码实操


说明:本文是《Python数据分析与数据化运营》中的“3.1 数据清洗:缺失值、异常值和重复值的处理-2 代码实操部分”。 -----------------------------下面是正文内容--------------------------

缺失值处理

对于缺失值的处理上,主要配合使用sklearn.preprocessing中的Imputer类、Pandas和Numpy。

其中由于Pandas对于数据探索、分析和探查的支持较为良好,因此围绕Pandas的缺失值处理较为常用。

import pandas as pd # 导入pandas库
import numpy as np # 导

继续阅读

3.1 数据清洗:缺失值、异常值和重复值的处理-1


说明:本文是《Python数据分析与数据化运营》中的“3.1 数据清洗:缺失值、异常值和重复值的处理”第一部分。 -----------------------------下面是正文内容-------------------------- 在数据清洗过程中,主要处理的是缺失值、异常值和重复值。所谓清洗,是对数据集通过丢弃、填充、替换、去重等操作,实现去除异常、纠正错误、补足缺失的目的。

3.1.1 遇到缺失值就要补全吗

数据缺失分为两种: 1. 一是行记录的缺失,这种情况也定义为数据记录丢失; 2. 二是数据列值的缺失,指由于各种原因导致的数据记录中某些列的值空缺,不同的数据存储和环境中对于缺

继续阅读

2.3 内容延展:读取非结构化网页、文本、图像、视频、语音


说明:本文是《Python数据分析与数据化运营》中的“2.3 内容延展:读取非结构化网页、文本、图像、视频、语音”。 在前面的章节中,我们介绍的内容是企业常见的数据来源和获取方式,本节将拓展数据来源方式和格式的获取,主要集中在非结构化的网页、文本、图像、视频和语音。

2.3.1 从网页中爬取运营数据

要从网页中爬虫数据,可使用Python内置标准库或第三方库,例如urllib、urllib2、httplib、httplib2、requests等。本节使用requests方法获取网页数据。

import requests # 导入库
url = 'http://www.dataivy.c

继续阅读

2.2 使用Python获取运营数据-2


说明:本文是《Python数据分析与数据化运营》中的“2.2 使用Python获取运营数据”中的第二部分,由于本节内容较多,这里分几个文章。

2.2.2 从Excel获取运营数据

现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上)。

Python处理Excel文件主要是第三方模块库xlrd、xlwt、pyexcel-xls、xluntils和pyExcelerator,以及win32com和openpyxl模块,此外Pandas中也带有可以读取Excel文件的模块(read_excel)。

基于扩展知识的目的,我们使用xlrd模块读取Ex

继续阅读

2.2 使用Python获取运营数据-1


说明:本文是《Python数据分析与数据化运营》中的“2.2 使用Python获取运营数据”中的第一部分,由于本节内容较多,这里分几个文章。

2.2.1 从文本文件读取运营数据

1. 使用read、readline、readlines读取数据

Python可以读取任何格式的文本数据,使用Python读取文本数据的基本步骤是:

  • 定义数据文件
  • 获取文件对象
  • 读取文件内容
  • 关闭文件对象

定义数据文件 定义数据文件即定义要读取的文件,该步骤不是必须的,可以跟“获取文件对象”整合。但为了后续操作的便捷性、全局数据对象的可维护性以及减少代码冗余,建议读者养成习惯,将数据文件预先赋值给一个对象。

定义文

继续阅读

2.1 数据化运营的数据来源类型


说明:本文是《Python数据分析与数据化运营》中的“2.1 数据化运营的数据来源类型”。 数据化运营的数据来源类型包括数据文件、数据库、API、流式数据、外部公开数据和其他来源等。

2.1.1 数据文件

数据文件就是存储数据的文件,广义上,任何文件中存储的信息都可以称为数据;狭义上,数据文件中存储的是以数字或文本形式存储的结构化的数据记录,本节的范围指的是后者。

  • 结构化数据文件大多来源于数据库,例如从MySQL中导出2017-01-04到2017-10-21的订单明细数据并存储为csv文件;
  • 也有来源于系统或工具的工作过程或返回结果,例如Windows版本的Tesseract文字识别后的结

继续阅读