Python pandas基础整理总结

近几日对金融数据进行预处理分析等等,pandas用的比较多,而且发现pandas的创始人就是为了处理金融数据的时候开发的pandas,在pandas功能不断扩展的时候才应用到了其他更多的领域,下面,我就对我这些天来对pandas的学习做一个简单的整理,沉淀一下。

  1. from pandas import Series, DataFrame
    import pandas as pd
  2. Series类似于一维数组的对象,索引在左边,值在右边,可以通过Series的values和index属性获取其数组表示形式和索引对象
  3. 如果数据被存储在一个Python字典中,则可以通过这个字典来创建Series
  4. 使用缺失missing或者NA来表示缺失数据,可以使用isnull和notnull来检测缺失数据
  5. Series一个重要功能就是它可以自动对齐不同索引的数据
  6. DataFrame既有行索引也有列索引,它可以被看作由Series组成的字典(共同用一个索引)。DataFrame中面向行和面向列的操作基本上是平衡的
  7. 构造DataFrame的方法可以是传入一个由等长列表或者NumPy数组组成的字典
  8. 返回所有列的索引:df.columns 返回所有列的索引:df.index
  9. 通过类似字典标记或者属性的方式获取列:df['col1']
    通过位置或名称的方式进行获取,使用ix字符:df.ix['row1']
  10. 列可以通过赋值的方式进行修改,但是行不可以,比如df['col1'] = 0
  11. df.values属性会将DataFrame以二维ndarray的形式返回
  12. pandas对象的一个重要方法是重新索引,reindex。比如:df.reindex(['a', 'b', 'c', 'd', 'e'], fill_value = 0),参数涉及到前项填充和后项填充等
  13. 行为轴0,列为轴1
  14. reindex函数的参数既可以是Index实例,也可以是其他序列型的Python数据结构
  15. df.drop([‘row1’, ‘row2’])默认是删除行;加入参数axis=1则变成删除列
  16. 利用标签的切片运算与普通的Python切片不同,末端是包含的。比如df[‘b’:’c’]则包含’c’
  17. 在DataFrame的行上进行标签索引有以下几种方式:
    1.df.ix['row', ['col1', 'col2']]
    2.df.ix[['row1', 'row2'], [3, 0, 1]]
    3.df.ix[2]
    4.df.ix[:'row1', 'col1']
    5.df.ix[df.col1>5, :3]

  18. apply函数可以将函数应用到各列或行所形成的一维数组上

  19. 如果想对frame中的各个浮点值进行格式化,使用如下:

    format = lambda x: '%.2f' % x
    frame.applymap(format)
    frame['row1'].map(format)

  20. 排序使用sort_index方法,ascending = False时为降序,反之,默认为升序(从小到大)

  21. rank函数可以给出Series的各个元素在其中的排名,一般添加method = 'first',表示按值在原始数据中的出现顺序进行排名
  22. idxmax()idxmin()函数返回的是间接统计,表示的是一个DataFrame达到最大值或最小值的索引值(比如给出字符串型标签)
  23. argmin()argmax()计算能够获取到最大值或最小值的索引位置(与给出标签不同,这个给出的是第几个位置,整数)
  24. value_counts()用于计算一个Series中各值出现的频率
  25. how = 'all'将会只丢弃全为NA的那些行
  26. 可以通过一些技巧,在缺失值处填入平均值、中位数或者最大值等等,比如Series.fillna(Series.mean())
  27. set_index()会将其一个或多个列转换为行索引reset_index会把层次化索引后的级别转移回去到列里面
  28. 若不想考虑类型,基于位置,就可以使用Series的iget_value方法或者DataFrame的irow和icol方法
  29. rolling是其中的一个移动窗口函数,可以定义移动窗口。比如股市的MA曲线就可以很方便用这种方式求出,MA10、MA30等等,这方面的函数有rolling_sumrolling_mena等,其中可以加入参数window = 10设置窗口的大小为10

猜你喜欢

转载自blog.csdn.net/fengchi863/article/details/80484314