美文网首页
115、pandas基本功能

115、pandas基本功能

作者: 陈容喜 | 来源:发表于2017-12-27 21:08 被阅读0次

    1、重新索引

    pandas对象的一个重要方法是reindex,其作用是创建一个适应新索引的型对象。例如: 1.png 调用该Series的reindex将会根据新索引进行重排。如果某个索引值当前不存在,就引入缺失值: 2.png 对于时间序列这样的有序数据,重新索引时需要做一些插值处理。下面的例子调用了method中的ffill实现前向充值: 3.png 下面列出reindex的(插值)method选项: 4.png 对于DataFrame,reindex可以修改(行)索引、列,或两个都修改。如果仅传入一个序列,则会重新索引行,插值只能按行应用(即轴0): 5.png 使用columns关键字即可重新索引列: 6.png 同时对行和列进行重新索引: 7.png 利用ix的标签索引功能: 8.png 下面列出了reindex函数的各参数及说明: 9.png

    2、丢弃指定轴上的项

    丢弃某条轴上的一个或多个项,可以使用drop方法,返回的是一个在指定轴上删除了指定值的新对象: 10.png 对于DataFrame,可以删除任意轴上的索引值: 11.png

    附源码:

    # coding: utf-8
    
    # In[1]:
    
    import numpy as np
    import pandas as pd
    from pandas import Series,DataFrame
    
    
    # In[2]:
    
    obj = Series([4.5,2.3,-7,6],index= [3,4,1,2])
    print (obj)
    
    
    # In[3]:
    
    # 调用Srries的reindex进行重排
    obj2 = obj.reindex([1,2,3,4,5])
    print(obj2)
    
    
    # In[4]:
    
    obj2 = obj.reindex([1,2,3,4,5,6],fill_value=0) # fill_value是把NaN值进行赋值
    print(obj2)
    
    
    # In[5]:
    
    obj3 = Series(['blue','purple','yellow'],index=[0,2,4])
    print( obj3)
    
    
    # In[6]:
    
    re_obj3 = obj3.reindex(range(6),method='ffill') # ffill向前充值
    print(re_obj3)
    
    
    # In[7]:
    
    frame = DataFrame(np.arange(9).reshape((3,3)),index=['a','c','d'],
                      columns=['Guangdong','Shandong','Henan'])
    print (frame)
    
    
    # In[8]:
    
    frame2 = frame.reindex(['a','b','c','d'],method='ffill')
    print (frame2)
    
    
    # In[9]:
    
    # 使用columns关键字索引列
    province = ['Sichuan','Henan','Anhui']
    frame2 = frame.reindex(columns=province)
    print (frame2)
    
    
    # In[10]:
    
    # 同时对行和列索引
    frame2 = frame.reindex(index=['a','b','c','d'],columns=province)
    print (frame2)
    
    
    # In[11]:
    
    # 利用ix标签索引功能
    frame3 = frame.ix[['a','b','c','d'],province]
    print(frame3)
    
    
    # In[12]:
    
    obj = Series(np.arange(5),index=['a','b','c','d','e'])
    print(obj)
    
    
    # In[13]:
    
    # 丢弃指定轴上的项
    new_obj = obj.drop('c')
    print(new_obj)
    
    
    # In[14]:
    
    # 使用DataFrame删除任意轴上的索引值
    data = DataFrame(np.arange(16).reshape((4,4)),
                     index=['Guangdong','Shandong','Sichuan','Henan'],
                     columns=['one','two','three','four'])
    print(data)
    
    
    # In[15]:
    
    data2 = data.drop(['Sichuan','Shandong'])
    print(data2)
    
    
    # In[16]:
    
    data2 = data.drop('two',axis=1)
    print(data2)
    
    
    # In[17]:
    
    data2 = data.drop(['two','four'],axis=1)
    print(data2)
    

    相关文章

      网友评论

          本文标题:115、pandas基本功能

          本文链接:https://www.haomeiwen.com/subject/nrdpgxtx.html