zoukankan      html  css  js  c++  java
  • 【python】《利用python进行数据分析》笔记

    【第三章】ipython

    C-a 到行首

    C-e 到行尾

    %timeit 测量语句时间,%time是一次,%timeit是多次。

    %pdb是自动调试的开关。

    %debug中,可以用b 12在第12行设置断点,n是执行当前行并进入下一行,

    set_trace和debug函数也比较好用。 from IPython.core.debugger import Pdb

    逐行分析函数性能:基于line_profiler的应用!在~/.ipython/profile_default/ipython_config.py 中添加 c.TerminalIPythonApp.extensions = ['line_profiler']

    即可使用魔法命令%lprun 逐行分析函数的性能,调用语法为

    %lprun -f func1 -f func2 statement_to_profile

    【第四章】numpy

    切片赋值可以用矢量或者标量,标量采用了广播机制。

    布尔索引!True False可以用来切片,也可以和其他切片方式混用。两个布尔索引可以对应的,比如df[con1] = df2[con]是成立的。

    df[:2][1:] = np.nan也是原数据上修改。

    花式索引就是df[[2,3,4,1], :]这种,花式索引每次都是复制新数据!两维都花式索引比较难,需要df[[0,1]][:, [0,1]]这样,或者df[df.ix_([0,1],[0,1])]

    np.where是x if con else y的矢量化版本。np.where(con=TrueFalseArray, x, y)。x, y可以是与con一样size的矢量,也可以是标量

    和&,或|,非-(负号)。

    np.sort返回已排序副本,就地排序会修改数组本身

    arr.unique()与sorted(set())输出相似, in1d(target, base)测试成员资格,unique(x), intersect1d(x, y), ...这些都是集合运算

    【第五章】pandas

    有特殊的Index类,index对象不可修改,有 is_monotonic 和 is_unique 方法 。series.reindex(index)根据新的index进行重排

    apply方法(输入某个函数),按照行或者按照列进行计算

    默认排除na值,使用skipna=False禁用

    reindex和set_index,

     【第六章】数据加载

    对于没有列名的csv, 两个方法header=None, names=[]

    其中一列当作index, names=[xx, 'message',xx, xx, xx], index_col='message'

    【第七章】数据规整化:清理、转换、合并、重塑

    pd.merge 根据一个或者多个键连接record

      如果两边键相同,通过on指定,如果键不同,通过left_on, right_on指定。

      通过how可以指定连接方式,默认是交集inner,可以选择left, right, outer  

    combine_first: 填补缺失数据的方法

    【第九章】数据聚合与分组运算

    groupby是一种分组运算的方法,包含三个步骤:拆分-应用-合并

    1、拆分:按照某个键将数据分类:data.groupby(key)

    2、应用、合并:将某个函数应用并且计算grp.mean(), grp.agg(func)

    【第十章】时间序列

    按天group

    df.index = pd.to_datetime(df.index)

    df.groupby(pd.TimeGrouper('D'))

    取每天的同一时间

    df.loc[datetime.time(9, 30)]

    按每天的同一时间group 

    data.groupby(data.index.time)

  • 相关阅读:
    Java学习-sgg-day09-20200425
    Java学习-sgg-day08-20200423
    C#集合
    C#类型转换
    HTML+CSS注意知识点
    easyUI学习(1)
    sort方法根据数组中对象的某一个属性值进行排序
    Vue Router 知识点梳理(二)
    Vue Router 知识点梳理
    浏览器加载、解析、渲染的过程
  • 原文地址:https://www.cnblogs.com/yesuuu/p/6408234.html
Copyright © 2011-2022 走看看