- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
drop_duplicates () #填充,inpalce,不产生副本 #可利用[‘列名’]列表,可以按列删除重复 #take_last=True,保留最后一个记录
数据整理
9
选择方式:
2019/12/30
• 行选择 • 列选择 • 区域选择 • 筛选(条件选择)
数据整理
10
2019/12/30
2019/12/30
获取并连接:
4
#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']))
#不支持多列
区域选择: 1、行号-列名 df.loc[1:5,] # 1-5行 全部列 df.loc[:,[’列名x‘,’列名y‘]]#所有行的 x,y两列
数据整理
12
2019/12/30
区域选择:
2、行-列,位置
df.iloc[1:5,[x,y]] #x,y组成整型列表 df.iloc[:,[‘列x’,’列y']] 当然可以精确到一个数据 df.loc[r,’列名’],df.iloc[r,c],df.iat[r,c]
条件筛选:
df[(df.index >= u'2014-01-01') & (df.val >= 95)] isin()
数据统计分析
13
求票房收入均值: df.mean(columns = ’amount')
解析表格内容
import re
dBytes = urllib.request.urlopen('c/page').read()
dStr = dBytes.decode() #在python3中urllib.read() 语句功能是将dBytes转换成Str
m = re.findall(‘正则解析表达式', dStr)
2019/12/30
1
Python 数据挖掘与分析
2
2019/12/30
数据处理过程
数据获取和收集
3
从数据源获取:
2019/12/30
From Excel import pandas as pd import numpy as np data1=pd.read_excel(”filename.xlsx")#使用pandas读取excel
print '-------------' nf=pd.concat(lcsv) print nf
原理与要点: Concat的参数是一个 “列表” 扩展:利用OS,浏览目录,获得 打开多个文件
Filename List,利用遍历 Filename List,
数据整理
5
例如:整理、去空、去重、合并、选取、数据准备:
• 显示数据描述 df.describe ,简报
数据清洗和整理
7
去空、处理缺失:
2019/12/30
isnull(),notnull()
#测试空(not null)值,返回True,False
dropna()
#dropna(axis=1,how=‘all’),按列删除 all Na,缺省为axis=0,即按行
行选择: • From Head: df.head(5) df[5) df[-5:-1]
• Select i – j: 选取后,也是df
df[i:j+1]
扩展:重构一个新的DataFrame
数据整理
11
2019/12/30
列选择: • 单列: df[‘列名’] 或 df.colname
数据清洗和整理
6
例如:去空、去重、合并、选取、数据准备:
2019/12/30
显示各要素: • 显示索引 df.index • 显示列名 df.columns • 显示数据的值 df.values 可以重构一个DataFrame
扩展:rdf=pd.DataFrame(data,index=inxlst,columns=colst)
2019/12/30
重要准备:index,header,columns
index-0 index-1 index-2 index-3 index-4 index-5 index-6 index-7
……
header-1 header-2 header-3 header-4
……
显示各要素: • 显示索引 • 显示列名 • 显示数据的值 • 显示数据描述
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
df.fillna() #填充,inpalce,不产生副本 #fillna(0)填充0,fillna({c1:v1,cx:vx})利用字典x列填充v #可以利用函数:mean、random.randon等等
数据清洗和整理
8
去重:
2019/12/30
duplicated()
#测试重值,返回True,False