首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用Python进行数据分析(一)

说在前面

即将自学《利用Python进行数据分析》这本书,为了督促自己思考并总结,遂将学习内容连载在此。以便大家参考,和自己回顾。此书前五章主要是介绍了IPython,NumPy,pandas入门,6至10章介绍数据的存储加载,清洗处理等及可视化,数据聚合?时间序列?。。。11章为金融方面的应用,12章为NumPy的高级应用。Python的不足

Python作为解释型编程语言,大部分代码速度上不可避免的要比编译型语言(JAVA,C++)要慢。

另外一方面,因为GIL的存在,所以Python对高并发,多线程的应用程序不是很友好。(单个Python进程不能执行多线程代码 )

常用库

NumPy:存储和处理大型矩阵,强大的MatLab系统,算法之间传递数据(由低级语言比如c和Fortran编写的库可直接操作Numpy数组中的数据,无需数据复制)。

pandas:数据处理 (DataFrame)

matplotlib:绘制数据图表

Ipython:编写工具

SciPy:科学计算(积分微分 线性代数balabalabalabala)

IPython

1.逐行输入 逐行输出

2.Tab键自动完成(b._)

3.内省(变量或者函数对象前面或后面加?号显示通用信息 ??还可以显示源代码搜索命名空间 如np.*load*? 列出含load的函数)

4.%run命令 %run+文件名 运行脚本

5.ctrl+c中止(Anaconda Jupter Notebook 有黑色小方块停止按钮)

6.魔术命令 %magic 如%timeit an_example = 42多次执行显示平均花费时间 %time显示所用时间

%logstart记录工作日志

......

7.调试:

%pdb 命令 打开出现异常后自动调用调试器 run -d **.py

b 12 在12行设置断点

c continue运行到断点

s step into

n next 下一步 step over

!a 查看a的值

h help

h b 查看b命令的帮助文档

......

非常好用的两个方法 便于调试:

set_trace()会进入调试器到这停止执行 然后按c继续执行

debug(函数,参数) 在此函数上使用调试器

其他

1、重新加载模块依赖项。

Python有“一次加载”模块系统,当你运行一个脚本后 再修改加载的模块 这个脚本不会使用更新后的模块。需要在import somelib后加上reload(somelib)。递归的重加载需要使用dreload(somelib),它会尝试加载somelib及其所有依赖项,当然实在不行,直接重启IPython。

2、扁平结构要比嵌套结构好

总结

看了两天,前面是对本书目录的一个了解,此书主要是对涉及的几个模块(非常常用)的介绍和初步使用,其次是数据分析从获取到清理到分析到可视化的处理。然后IPython作为交互式的编写工具非常好用,个人推荐新手直接使用Anaconda,包含了很多的插件。之前一直好奇这种的如何去调试,通过这章了解了虽然不是直接通过GUI去直接调试,但是依然是可以通过命令等达到效果的。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171223G0OXMQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券