1-pandas is:
专门用于数据挖掘的开源python库
以Numpy为基础,借力Numpy模块在计算方面性能高的优势
基于matplotlib,能够简便的画图
独特的数据结构
2-两种结构
DataFrame结构
DataFrame对象既有行索引,又有列索引
行索引,表明不同行,横向索引,叫index,0轴,axis=0
列索引,表名不同列,纵向索引,叫columns,1轴,axis=1
属性
shape – 形状
index – 行索引
columns – 列索引
values – 查看值
T – 转置
head() – 查看头部内容
tail() – 查看尾部内容
df.index
—df.index = new_index 可修改索引
*MultiIndex 多级或分层索引对象*
index属性
names:levels的名称
levels:每个level的元组值
eg: df.index.names
df.reset_index(drop=False)
设置新的下标索引 drop:默认为False,不删除原来索引,如果为True,删除原来的索引值
df.set_index(keys, drop=True)
keys : 列索引名成或者列索引名称的列表
drop : boolean, default True.当做新的索引,删除原来的列
Serries结构
series结构只有行索引
基本数据操作
1-索引操作
直接使用行列索引(先列后行)
结合loc或者iloc使用索引
– 使用loc:只能指定行列索引的名字
–使用iloc可以通过索引的下标去获取
2-赋值操作
# 直接修改原来的值
data['column'] = 1
# 或者
data.column= 1
3-排序
–df.sort_values(by=, ascending=)
----单个键或者多个键进行排序,默认升序
----ascending=False:降序
----ascending=True:升序
3-DataFrame运算
describe综合统计
max最大值计算
min最小值计算
mean平均值计算
std标准差计算
idxmin、idxmax最大值最小值的索引
cumsum累计分析
逻辑运算符号-数据的逻辑筛选
isin数据的筛选
query数据的筛选
add数据间的加法运算
apply函数 数据的自定义处理
4-文件读取与存储
可以读取.csv .hdf5 .json
以.csv为例:
读取
pandas.read_csv(filepath_or_buffer, sep =',' )
filepath_or_buffer:文件路径
usecols:指定读取的列名,列表形式
保存
DataFrame.to_csv(path_or_buf=None, sep=', ’, columns=None, header=True, index=True, mode='w', encoding=None)
path_or_buf :string or file handle, default None
sep :character, default ‘,’
columns :sequence, optional
mode:'w':重写, 'a' 追加
index:是否写进行索引
header :boolean or list of string, default True,是否写进列索引值
拓展:优先选择使用HDF5文件存储
HDF5在存储的时候支持压缩,使用的方式是blosc,这个是速度最快的也是pandas默认支持的
使用压缩可以提磁盘利用率,节省空间
HDF5还是跨平台的,可以轻松迁移到hadoop 上面
5-高级处理
缺失值处理
Pandas的缺失值类型
replace实现数据的替换
dropna实现缺失值的删除
fillna实现缺失值的填充
isnull判断是否有缺失数据NaN