wqzjk393
2019-07-09 09:37:39 +08:00
数据分析的核心是统计学,其次才是各种封装好的科学计算包( pandas/numpy/scipy )可视化包(matplotlib/seaborn)。个人经验,统计学就老老实实看教材,包的话建议先从 numpy 入手,掌握和理解 numpy 的切片操作以后再学 pandas 就轻松多了。
pandas 其实用的多的还是读写 excel/csv,lambda 和 map/apply/applymap,pivot_table/cross_tab (其实很类似于 oracle 的分析函数"聚合函数+over(partition by/group by)" ),groupby,筛选(包括 where、df[df['aaa']=='bbb']等多种方式筛选,其实就类似于 sql 的 select where)、merge (相当于 sql 的 join )、drop_duplicates (去重)、dropna/fillna(删除空值或者填充空值)。所以你看 pandas 其实大部分时间用到的东西很有限的,学过 sql 的用 excel 分析过报表再学这个就感觉很轻松。
其实关键分析的还是要用 numpy 和 scipy,统计学应用就是要使用这两个的。而且 pandas 如果是做数据分析而不是仅仅做自动化报表,大部分还是要使用 df.values 转换成 numpy.ndarray 做分析。numpy 里面最麻烦的还是切片操作,这个很绕而且开始学的时候可能会感觉和自己的习惯很不一致,这没办法只有慢慢习惯才行。numpy 和 scipy 提供了均值方差峰度偏度中位数分位数等等各种统计函数,基本上能满足你大部分需求了。但是你要应用这些函数还是要理解均值方差峰度偏度等等这些概念的意义和作用,所以说关键还是在统计学理论知识,而不是科学计算包