数据分析Day3:理解

慢慢前行,先写一下对整体的理解,待后面修正。

数据分析的步骤:

一、数据加载,获取数据源

首先将数据导入加载到分析工具。数据从外部导入分为两种方式,文本和数据库。

数学示例和案例中一般是手工数据。

1)导入文本格式数据
pandas中的解析函数:

read_csv     默认分隔符为逗号
read_table   默认分隔符为('\n')
read_fwf     读取定宽列格式数据(没有分隔符)
read_clipboard   读取剪贴板中的数据。在将网页转为表格中很有用

2)json数据导入

import json
path ='/Users/apple/Desktop/jsusers.txt'
import jsonrecords=[json.loads(line) for line in open(path)]

(jsusers是json格式数据)
3)网络数据,xml ,html
数据获取的方法基本是网络访问(urllib,urlib2)+xpath,也即Python爬虫的方式。

我的做法,还是先爬取存储数据,再到pandas中分析。疑问:这方法也不符合分层的原理。网络获取数据和数据分据处理混大一起。好处是能即时获取到最新数据吗?

4)数据库数据
(暂未涉及,后面补充)

二、数据处理、规整

昨天开始使用anaconda中的spyder,好处对于在处理的数据和数据类型可以直观看到。

数据分析Day3:理解_第1张图片
Spyder

数据处理,是数据分数的关键,我理解有①数据类型处理; ② 字段类型处理;③ 数据分组聚合;④ 其他基本处理如缺省值、字段拆分等。

  1. 数据类型处理
    一开始就意识到了,但在IPtython中没有直观影响,导致在进行图表展现时报错。
    如:json数据导入的数据类型是list
    使用groupby分组统计后得到的数据类型是Series。(一列是index)
reg_data = frame.groupby('regtime2')['nickname'].count()

这里数据类型处理,我主要是指DataFrame 和 Series

  1. 字段类型处理
    指的是DataFrame中列的类型。目前使用的json数据,所以导入的日期类型需要转换。
data2['regd']=to_datetime(adata2['regtime2'],format='%Y-%m')
  1. 数据分组聚合
    理解为SQL中的聚合函数,Excel中的分类汇总。是数据各类可视化展现的基础。

三、可视化展现

主要是各种图表:散点图、折线图、饼图、柱形图、直方图等。
我现在处理分析的是用户信息,爬取的数据中有用户注册时间字段,就想到用图来展现用户注册量的变化。步骤如下:

0)爬取用户信息,(包含用户加入时间)
1)数据导入DataFrame,对 “注册时间”列进行分段处理
2)groupby分类汇总,得到一个Series
3)构造出新的DataFrame
4)图形展现

plt.plot(adata2['regd'],adata2['users'],'-')
数据分析Day3:理解_第2张图片
用户注册情况

(目前试着分析选择的数据只有1040条,还没有加载那个11W+的数据)

问题:绘图函数的一些参数,还没有了解,图例、坐标也没有很好显示。

四、统计方法

这是我的弱项,之前没有接触,需要多了解一些理论知识。

你可能感兴趣的:(数据分析Day3:理解)