一、重要的python库
- NumPy
- python数值计算基石
- Pandas
- 提供高级数据结构和函数
- Matplotlib
- 用于制图即其他二维数据可视化
- IPython与Jupyter
- 交互性python解释器
- SciPy
- 科学领域针对不同标准问题的包集合
- scikit-learn
- 机器学习包
- statsmodels
- 统计分析包
魔术命令
- IPython的特殊命令(没有内建到python自身中去)称为魔术命令。用于简化常用任务,使得用户更容易控制IPython系统的行为
- 常用魔术命令
- %quickref 显示IPython快速参考卡
- %magic 显示所有可用魔术命令的详细文档
- %debug 从最后报错的底部进入交互式调试器
- %hist 打印命令输出(入)历史
- %pdb 出现任意报错后进入调试器
- %paste 从剪贴板中执行已经预先格式化的python代码
- %cpaste 打开一个特殊提示符,手动粘贴待执行的代码
- %reset 删除交互式命令空间中所有的变量/名称
- %page OBJECT 通过分页器更美观的打印显示一个对象
- %run script.py 在IPython中运行一个python脚本
- %prun statement 使用CProfile执行语句,并报告输出
- %time statement 报告单个语句执行时间
- %timeit statement 多次运行单个语句计算平均执行时间;在估算代码最短执行时间时有用
- %who %who_ls %whos 根据不同级别的信息/详细程度,展示交互式命令空间中定义的变量
- %xdex variable 在IPython内部删除一个变量,清除相关的引用
- 常用魔术命令
matplotlib集成
- %matplotlib 魔术函数可以设置matplotlib与IPython命令行或者jupyter notebook的集成
%matplotlib inline
import matplotlib as plt
plt.plot(np.random.randn(50).cumsum())
python中日期和时间
- python内建datetime模块,提供了datetime,date,time类型。
- Datetime格式化详细说明
-
%Y 四位的年份
-
%y 两位的年份
-
%m 两位的月份 [01,12]
-
%d 两位的天数值 [01,31]
-
%H 24小时制 [00,23]
-
%I 12小时制 [01,12]
-
%M 两位的分钟值 [00,59]
-
%S 秒值 [00,61] (60,61 用于区分闰秒)
-
%w 星期值 [0(星期天),6]
-
%U 一年中第几个星期的值 [00,53],星期天是每周第一天,第一个星期天前的一周是第0个星期
-
%W 一年中第几个星期的值 [00,53],星期1是每周第一天,第一个星期1前的一周是第0个星期
-
%z UTC时区偏置,格式为+HHMM或-HHMM:如果是简单时区则为空
-
%F %Y-%m-%d的简写(例如2012-12-2)
-
%D %m/%d/%y的简写(例如04/17/12)
-
from datetime import datetime,date,time
dt = datetime(2019,6,3,16,19)
dt.day
3
dt.date()
datetime.date(2019, 6, 3)
dt.time()
datetime.time(16, 19)
# strftime方法将datetime转换为字符串
dt.strftime('%m/%d/%Y %H:%M')
'06/03/2019 16:19'
# 字符串可以通过strptime函数转换成datetime对象
datetime.strptime('20190603','%Y%m%d')
datetime.datetime(2019, 6, 3, 0, 0)
# 聚合会分组时间序列,替代datetime中的一些值
dt.replace(minute=0, second=0)
datetime.datetime(2019, 6, 3, 16, 0)
# 由于datetime.datetime是不可变类型,故以上方法都是产生新的对象
# 两个不同的datetime对象会产生新的datetime.datetime类型的对象
dt2 = datetime(2019, 5, 3, 16, 31,25)
delta = dt2 - dt
delta
datetime.timedelta(days=-31, seconds=745)
type(delta)
datetime.timedelta
# 将timedelta加到一个datetime上将产生一个新的对象
dt + delta
datetime.datetime(2019, 5, 3, 16, 31, 25)