Python 数据挖掘与分析 数据挖掘与分析全文共36页,当前为第1页。 数据处理过程 数据挖掘与分析全文共36页,当前为第2页。 数据获取和收集从数据源获取: From Excel import pandas as pd import numpy as np data1=pd.read_excel("filename.xlsx")#使用pandas读取excel From CSV #ocding:utf-8 import numpy as np import pandas as pd df00=pd.read_csv('20161009.csv',delimiter=';') From 网页: urllib urllib2 httplib httplib2 import urllib import re dBytes = urllib.request.urlopen('http://aaa.bbb.ccc/page').read() dStr = dBytes.decode() #在python3中urllib.read() 语句功能是将dBytes转换成Str m = re.findall('正则解析表达式', dStr) 例如:利用正则表达式解析表格内容 数据挖掘与分析全文共36页,当前为第3页。 获取并连接: #coding:utf-8 import numpy as np import pandas as pd print '===========' lcsv=[] lcsv.append(pd.read_csv('20161009.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) lcsv.append(pd.read_csv('20161016.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) lcsv.append(pd.read_csv('20161023.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) lcsv.append(pd.read_csv('20161030.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) print '-------------' nf=pd.concat(lcsv) print nf 原理与要点: Concat的参数是一个 "列表" 扩展:利用OS,浏览目录,获得 Filename List,利用遍历 Filename List, 打开多个文件 数据挖掘与分析全文共36页,当前为第4页。 数据整理例如:整理、去空、去重、合并、选取、数据准备: 重要准备:index,header,columns header-1 header-2 header-3 header-4 …… index-0 index-1 index-2 index-3 index-4 index-5 index-6 index-7 …… 显示各要素: 显示索引 显示列名 显示数据的值 显示数据描述 数据挖掘与分析全文共36页,当前为第5页。 数据清洗和整理例如:去空、去重、合并、选取、数据准备: 显示各要素: 显示索引 df.index 显示列名 df.columns 显示数据的值 df.values 可以重构一个DataFrame 扩展:rdf=pd.DataFrame(data,index=inxlst,columns=colst) 显示数据描述 df.describe ,简报 数据挖掘与分析全文共36页,当前为第6页。 数据清洗和整理去空、处理缺失: isnull(),notnull() #测试空(not null)值,返回True,False dropna() #dropna(axis=1,how='all'),按列删除 all Na,缺省为axis=0,即按行 df.fillna() #填充,inpalce,不产生副本 #fillna(0)填充0,fillna({c1:v1,cx:vx})利用字典x列填充v #可以利用函数:mean、random.randon等等 数据挖掘与分析全文共36页,当前为第7页。 数据清洗和整理去重: duplicated() #测试重值,返回True,False drop_duplicates () #填充,inpalce,不产生