利用python进行数据分析,其中中间核心的分析数据过程最需要的就是pandas分析库了,学习了这个就能很好的找到数据的价值,进而展现数据。
笔记自用,阅读者可以将笔记看作对自己的考核,和查询不会的要点?
入门
import pandas as pd
import numpy as np
重建索引
frame.reindex()
reindex方法的参数
参数 | 描述 |
---|---|
index | 新建作为索引的序列,可以是索引实例或者任意其他序列型python数据结构,索引使用时无需复制 |
method | 插值方式,'ffill’为前向填充,'bfill’为后向填充 |
fill_value | 通过重新索引引入缺失数据时使用的替代值 |
limit | 当前向或者后向填充时,所需的最大尺寸间隙一(以元素数量) |
tolerance | 当前向或者后向填充时,所需填充的不精确匹配下的最大尺寸间隙(以绝对数字距离) |
删除条目
df=pd.DataFrame()
df.drop([],axis=,inplace=)
索引
DataFrame的索引选项
类型 | 描述 |
---|---|
df[val] | 从dataframe中选择单列或多列 |
df.loc[val] | 根据标签选择单行或多行 |
df.loc[val1,val2] | 根据标签选择行,列 |
df.iloc[where] | 根据整数位置选择单行或多行 |
df.iloc[where_i,where_j] | 根据整数位置选择行,列 |
算术操作
为了防止具有不同索引的两表进行算术操作时出现大量缺失值,采用fill_value(=0,表示与原表相同)
df1.add(df2,fill_value=)
与add类似的还有:sub,div,floordiv(整除),mul,pow
广播机制
DataFrame与Series进行算术操作时,需要指明axis,在行还是列上进行广播,算术操作与上述相同
函数的应用和映射
data=pd.DataFrame()
f=lambda x: .......
data.apply(f)
#默认axis=0
#若想要数据格式化,则采用applymat
data.applymat(lambda x: "%.2f"%x)
排序与排名
frame=pd.DataFrame()
frame.sort_values(by=[])
#['a','b']与['b','a']不同
frame.sort_index(axis=,ascending=)
#默认是升序,ascending=False为降序
frame.rank(axis=,ascending=,method=)
#method是打破平级的方法
方法 | 描述 |
---|---|
‘average’ | 默认:在每个组中分配平均排名 |
‘min’ | 对整个组使用最小排名 |
‘max’ | 对整个组使用最大排名 |
‘first’ | 按照值在数据中出现的次序分配排名 |
‘dense’ | 类似于method=’min‘,但组间排名总是增加1,而不是一个组中的相等元素的数量 |
描述性统计和汇总统计
唯一值、计数、集合成员
一般适用于Series,如果用于DataFrame,使用data.apply(pd.)
方法 | 描述 |
---|---|
isin | 计算表征Series中每个值是否包含于传入序列的布尔值数组 |
match | 计算数组中每个值的整数索引,形成一个唯一值数组。有助于数据对齐和join类型的操作 |
unique | 计算Series值中的为一只数组,按照观察顺序返回 |
value_counts | 返回一个Series,索引是唯一值序列,值是计数个数,按照个数降序排序 |