import pandas sa pd
一、DataFrame
创建DataFrame
pd.DataFrame(data,index,columns)
data -- 数据
index -- 行索引
columns -- 列索引
pd.date_range(start,end,periods,freq)
start -- 开始时间
end -- 结束时间
periods -- 天数
freq -- 递进单位,默认1天,‘B’默认略过周末
基本方法、属性
方法/属性 | 注释 |
.shape | 形状 |
.index | 行索引值 |
.columns | 列索引值 |
.values | 值 |
.T | 转置 |
.head() | 前几行,默认5 |
.tail() | 后几行,默认5 |
重设索引
.reset_index(drop)
drop: true 删除原索引 false 保留原索引
set_index(keys,drop) -- 某列作为索引
二、 DataFrame数据操作
ndarray -- 先行后列
dataframe -- 先列后行
1.直接取列行
data[“列”]["行"]
2.loc,iloc(先行后列)
.loc() -- 指定行列的名字
.iloc() -- 指定行列的下标
3.ix下标与名字混合使用
三、基本数据操作
赋值操作
data["列"] = ?
data.列=?
排序
值排序
data.sort_values(by = 键,assending =升降序)
索引排序
data.sort_index()
运算
.add() | 加 |
.sub() | 减 |
.query() | 判等 |
.isin() | 包含 |
.describe() | 统计运算 |
.cumsum() | 前n个和 |
.cummax() | 前n个最大 |
.cummin() | 前n个最小 |
.cumprod() | 前n个乘积 |
自定义函数
data.apply(func,axis= 0)
func:自定义的函数,例如匿名函数(lambda x : x.max() - x.min())
四、缺失值处理
1.nan处理
判断nan
pd.isnull(data)
pd.notnull(data)
结合np.all()与np.any()一起使用。
例如
np.all(pd.notnull(data))
np.any(pd.isnull(data))
删除
.dropna()
替换
.fillna(value,inplace = true/flase)
value:把nan替换为value
inplace:true修改原数据,flase不修改原数据
2.不是nan
.replace(to_replace='?',value=np.nan)
把?替换为nan
五、数据离散化
pd.qcut(data,q) | q分为几组 |
series.value_counts() | 序列划分 |
pd.cut(data,bins) | 自定义分组 |
one-hot编码
.get.dummies(data,prefix)
prefix:分组的名字
六、数据合并
pd.concat([data1,data2],axis = 1)
pd.merge(left,right,how,on,left_on,right_on)
七、分组聚合
data.groupby(key,as_index=?)[].mean()
分组后必须聚合才有意义