优达学城数据分析师纳米学位——知识点总结1

目前在做P2的项目,感觉自己在处理数据方面的经验还是很有所欠缺的,很多时候基础不够牢固,写不出来自己想要完成的步骤,及时进行梳理和总结来提高自己的编码能力。

 

数据处理的过程 Question-Wrangle-Explore-Draw conclusion-Communicate 

问题一定要明确,这要求一名分析师应当熟悉行业信息,而且有一定的观察能力,

数据采集+数据整理(DATA ACQUSITION+ DATA CLEANING)

数据挖掘,数据分析 统计学的基础

数据整理:导入+重新组合

数据导入根据文件类型的不同可以分为 1.读取文本文件及其它磁盘存储格式 2.加载数据库中的数据 3.利用Web API操作网络资源 

常见的数据文件类型:

1. CSV (comma seperated values) 逗号分隔值文件 默认分隔符为逗号, pd.read_vsv('filename')命令直接导入, 逐行读取 nrow= 逐块读取chunksize= 、

2. JSON(JavaScript Object Notation) :更加灵活 JSON接近Python代码,可以利用json库对JSON文件进行相关的操作 json.loads 读取 json.dumps将Python对象转换为JSON格式

3.XML和HTMLshuju  lxml库进行处理 HTML中的标签是我们处理的目标

4. XLS excle文件 xlrd包进行处理 

5.SQL等数据库导入

数据类型的转换处理 

 1 from datetime import datetime as dt
 2 def parse_date(date):
 3     if date==' ' :
 4         return None    
 5     else:
 6         return dt.strptime(date, '%Y-%m-%d')
 7 def parse_maybe_int(i):
 8     if i == ' ' :
 9         return None
10     else:
11         return int(i)

read_csv命令默认的导入数据类型为字符串,需要按照实际应用情况进行数据类型的转换,转换为布尔值和整数值,浮点数

datetime是关于日期创建的类,完成日期的相关操作

dic , set 与 list 

创建: paid_students= {}  students=set() enrollments=list[] (也可以使用list迭代器命令直接 省略循环语句和添加语句)

enrollments= []
f=open('enrollments.csv', 'rb')
reader= unicodecsv.DictReader(f)
for row in reader:
    enrollments.append(row)
f.close()


可以简化为

with open(enrollments.csv', 'rb') as f:
    reader = unicodecsv.DictReader(f) #DictReader 读取每行数据并保存为字典格式
    enrollments = list(reader) #list迭代器命令直接生成一个列表

 

筛选:if条件句

增添元素:for 循环遍历数据源 enrollments['account_key'] 定位数据

dic:  paid_students[account_key] = enrollment_date  #直接默认account_key 为key值 enrollment_date 为value值 

set:students.add(enrollment['account_key'])

显示长度: len( ) 

posted @ 2017-01-30 23:09  AugusKong  阅读(2216)  评论(0编辑  收藏  举报