1. 程式人生 > >複習小結2

複習小結2

import pandas as P
import numpy as N

#Index處理
    #製作index    
    #tuple1 = list(zip([1,2,3,4,5],[5,6,7,8,9]))
      index = P.MultiIndex_fromtuples(tuple1,names = ['1st','2nd'])#在生成以tuple為基地的索引            
      時,同時生成層次1st,2nd

        date = P.DataFrame(data,index = index,columns=['A','B'])
    #列索引-行索引
    data.stack()#這個其實還不是很清楚用法,不過先有個粗略印象,後期根據實際情況學習才能印象更深刻

    #資料透視(我覺得這個名字翻譯過來很不直觀,叫資料重組比較容易理解)
        data = P.DataFrame({'A':['a','b','c','d'],
                            'B':['QWE','WER','ERT','RTY'],
                            'C':['zxc','xcv','vbn','nm,'],
                            'D':N.random.randn(4),
                            'E':N.random.randn(4)
                            })
        data.pivot_table(values = ['D'],index = ['A','B'],columns = ['C'])
            通過以A,B列為兩層索引,C列為列索引,D為值獲得一個重新分類編排的資料

    #時間序列製作
    #index_date = P.date_range('20010101',periods = 1000,freq = 's')#以2001年1月1日算起1000
        個秒的 單位
     index_periods = P.period_range('2001Q1','2002Q2',periods = 'Q')
     這個兩個型別是可以轉換的
        index_periods.to_timestamp()
#category
    #這個的講解也是非常隨意,按照我的理解,這個category是用來標記或者排序的一種資料型別,
    #data = P.DataFram(N.random.randn(5,2),columns = ['id','raw_grade'])
     data['grade'] = data['raw_grade'].astype('category')#實際上就是把raw_grade資料複製後改變        
        格式,這個時候grade的資料已經是一種可以修改的標記了
     data.grade.cat.categories = ['aaa','bbb','ccc']#對應raw_grade每種分類,標記成其他分類
     datta.sort_values(by = 'grade',ascending = False)#這個東西的作用有點微妙,需要用例項才能好好解釋,我的理解是比如一個班的學生分數已經按照區間分好類了,然後再用category加一列,以區間分類的值為資料,將這些資料通過.cat.categories改寫成所對應的學校,就可以將分數區間轉化為學校分配的操作