数据分析
- python数据科学的基础
- 机器学习课程的基础
- 工具anaconda和jupyter
- matplotlib
- 查看系统字体:
fc-list :lang=zh
numpy
- NumPy是使用Python进行科学计算的基础包
- 官网:https://www.numpy.org.cn/
pandas
-
Seres一维数组
- t.index
- t.values
-
DataFrame二维数组
- 行索引,表明不同行,横向索引,叫index,0轴,axis=0
- 行索引,表明不同列,纵向索引,叫columns,1轴,axis=1
- t.index 行索引
- 指定索引:
t.index = ['x', 'y']
- 重新设置索引:
t.reindex(['x', 'y'])
- 指定某一列作为index:
t.set_index("name", drop=False)
- 返回index的唯一值:
t.set_index("name").index.unique()
- 交换levels里面的索引:
t.swaplevel()
- 指定索引:
- t.columns 列索引
- t.values 对象值,二维ndarray数组
- t.shape 形状(行数,列数)
- t.dtypes 类型
- t.ndim 数据维度
- t.head(3) 显示头部几行,默认5行
- t.tail(3) 显示尾部几行,默认5行
- t.info() 相关信息概览:行数、列数、列索引、列非空值个数、列类型、行类型、内存占用
- t.describe() 快速综合统计结果:计算、均值、标准差、最大值、四分位数、最小值
- t.loc() 通过标签索引行数据
- t.iloc() 通过位置获取行数据
- 判断数据是否为NaN:
pd.isnull(t),pd.notnull(t)
- 处理方式1:删除NaN所在的行列
dropna(axis=0,how='any',inplace=False)
- 处理方式2:填充数据
t.fillna(t.mean())#均值,t.fiall(t.median()),t.fillna(0)
处理为0的数据:t[t=0]=np.nan 当然并不是每次为0的数据都需要处理 计算平均值等情况,nan是不参与计算的,但是0会
- 处理方式1:删除NaN所在的行列
-
pandas 常用统计方法
-
平均值:
df["xx"].mean()
-
最大值:
df["xx"].max()
-
最大值索引:
df["xx"].idxmax()
-
最小值:
df["xx"].max()
-
最小值索引:
df["xx"].idxmin()
-
中位数:
df["xx"].median()
-
join:默认是把行索引相同的数据合并到一起
t1.join(t2)
-
merge:按照指定的列把数据按照一定的方式合并到一起
t1.merge(t2, on="a", how="inner")
- on:指定列
- how->inner(默认)交集方式合并
- how->outer 并集方式合并,NaN补全
- how->left 以左边为准合并,NaN补全
- how->right 以右边为准合并,NaN补全
-
-
时间序列
- ps.to_datetime(df["timeStamp"])
相关练习代码仓库: https://gitee.com/yangpengfi/pythonStudy/tree/master/day15