数据挖掘-pandas库的使用
2018-10-12 本文已影响0人
紫弟
读取
pandas是python中的数据处理库,可以读取数据库,csv文件,txt文件,excel文件,hdf5文件
# 类似于这样
result =pandas.read_csv('文件路径',
sep='分隔方式/,',
header='先几行/数字或None',
names='列索引/列表',
chunksize='文件块的大小(用于迭代),大文件,1000w最加迭代',
encoding='utf-8/文件编码',
nrows='指定行数读取')
pd.isnull(result)#判断值是否为空
json格式的数据转换
json格式的数据(字符串)转换成python对象
import json
json.loads()
python对象转成json格式的数据(字符串)
json.dumps()
写入和查询
pandas数据结构对象有两个
Series类似于一维数组
Dataframe是一个类似于二维表(就像excel表一样的)的数据结构(我们大部分用dataframe,所以用举例子Dataframe),上面读取的时候也是以dataframe来保存的
data = {'键/索引':['列表/值']}
frame=pd.Dataframe(data,columns=['列表/列索引'],index=['列表/行索引'])
#给索引的列赋值
frame['列索引'] = 赋值(但是长度要匹配)(列表)
#可赋值给别人,也可以别人赋值给自己
=frame.ix['行索引']=
=frame['列索引']=
#索引,选取,过滤
obj['索引'],obj[1],obj[2:4],左开右闭,obj[obj>2]左开
obj['索引','索引']
obj[obj['索引']>数值]
排序和排名
frame.sort_index(by='索引',ascending=False(升序降序))
汇总和计算描述统计
#求和
frame.sum()
#求某一行的和
Row_sum = frame.iloc[i,0:].sum()
#求某一列的和
column_sum = frame.iloc[:,j].sum()
#均值
frame.mean()
frame.describe()描述(count,unique..)
#非NA的数量
frame.count()
#方差
frame.var()
#标准差
frame.std()
处理缺失数据
#判断是否为空
frame.isnull()
#指定方法填充缺失数据
frame.fiina(axis=‘横轴,竖轴’,inplace='修改调用者对象而不产生副本')
#过滤缺失值
frame.dropna
合并数据集
#约等于数据库的inner连接查询
pd.merge(frame1,frame2,on=“指定列”,how="左连接/left")
移除重复行
frame.drop_duplicates()
映射进行数据转换
frame['新列'] = frame['已有列'].map(函数)
替换值
frame.repalce("已有值/字符串,列表",“替换值”)
数据离散化(只有统计作用,好像)
ages=[一大堆值]
bins=[有序列的一大堆值]
#左开右闭
cats=pd.cut(ages,bins)
pd.value_counts(cats)
数据聚合和离散
(以后用到在写,看不懂)
时间序列
时间序列的表现形式,时间戳,固定时间(时区),时间间隔,实验或过程时间,每个时间点都是相对于特定起始时间的一个度量,例如,从放入烤箱时起,每秒钟饼干的直径。