---恢復(fù)內(nèi)容開(kāi)始--- 1.選取行名、列名、值 進(jìn)群:125240963 即可獲取數(shù)十套PDF哦!
2.以標(biāo)簽(行、列的名字)為索引選擇數(shù)據(jù)—— x.loc[行標(biāo)簽,列標(biāo)簽] 私信小編007即可獲取數(shù)十套PDF哦!
3.以位置(第幾行、第幾列)為索引選擇數(shù)據(jù)—— x.iloc[行位置,列位置]
4.同時(shí)根據(jù)標(biāo)簽和位置選擇數(shù)據(jù)——x.ix[行,列]
5.選擇連續(xù)的多行多列——切片 起點(diǎn)索引:終點(diǎn)索引 這種用法叫做一個(gè)切片,指從起點(diǎn)索引到終點(diǎn)索引。看實(shí)際用法就懂了。 如果起點(diǎn)索引省略代表從頭開(kāi)始,終點(diǎn)索引省略代表直到最后,都省略就代表全部了。 切片在.loc、.iloc、.ix三種方法中都可以應(yīng)用
由上例可見(jiàn),當(dāng)以位置為索引時(shí),切片是不包括終點(diǎn)的,是左閉右開(kāi)的。即第1列到第3列不是寫(xiě)作0:2而是0:3。
6.選擇不連續(xù)的某幾行或某幾列
備注:當(dāng)以標(biāo)簽名選取不連續(xù)的某幾行的時(shí)候在這個(gè)例子中如df.loc['2016-02-02','2016-02-04',:]這樣寫(xiě)會(huì)出錯(cuò),,是時(shí)間格式的原因,這樣寫(xiě)就可以了df.ix[[pd.Timestamp('2016-02-02'), pd.Timestamp('2016-02-04')]] 7.簡(jiǎn)便地獲取行或列 直接用切片獲取行,直接用標(biāo)簽名獲取列。注意不要錯(cuò)亂。
8.如何返回一個(gè)dataframe的單列或單行 如上,此時(shí)返回的是一個(gè)series,而不是dataframe。有時(shí)單獨(dú)只獲取一行的時(shí)候也會(huì)返回一個(gè)series,如df.ix[0,:]。
若要返回dataframe,可用中括號(hào)把索引括上,如下。
9.按條件選取數(shù)據(jù)——df[邏輯條件] 邏輯條件支持&(與)、|(或)、~(非)等邏輯運(yùn)算
這個(gè)方法有個(gè)常用情景,即按條件修改數(shù)據(jù):
02. dataframe轉(zhuǎn)置、排序 1.轉(zhuǎn)置 df.T
2.按行名或列名排序——df.sort_index df.sort_index(axis=0,ascending=True)
3.按值排序——df.sort_index df.sort(by=, ascending=True)
03. dataframe增刪行或列 1.獲得一個(gè)datframe數(shù)據(jù)類(lèi)型的樣例
2.增加一列或一行
3.刪除行或列——df.drop df.drop(labels,axis=0,inplace=Flase)
04.鏈接多個(gè)dataframe 1.concat,concat([df1,df2,...],axis=0)
2.橫向連接
3.縱向連接
05.組建dataframe 1.組建方法——pd.DataFrame pd.DataFrame(data=None, index=None, columns=None)
使用前要執(zhí)行前面的import pandas as pd
2.用字典型數(shù)據(jù)組建——pd.DataFrame 方法基本同上,因?yàn)樽值湫妥詭б粋€(gè)標(biāo)簽,所以就不用寫(xiě)列名了。
3.簡(jiǎn)便地獲得聚寬數(shù)據(jù)中的時(shí)間索引 有時(shí)建立一個(gè)dataframe時(shí),為了和平臺(tái)數(shù)據(jù)保持一致,需要使用相同的時(shí)間行索引,但時(shí)間數(shù)據(jù)操作復(fù)雜,而且涉及到節(jié)假日、非交易日等問(wèn)題,直接建立比較困難,這里介紹一種簡(jiǎn)單的方法,快速獲得跟平臺(tái)數(shù)據(jù)一致的時(shí)間索引。原理就是直接把平臺(tái)數(shù)據(jù)的時(shí)間索引拿出來(lái)。例子如下:
06.dataframe的缺失值處理 1.去掉缺失值——df.dropna df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
相對(duì)復(fù)雜,請(qǐng)看例子和與例子注釋。
2.對(duì)缺失值進(jìn)行填充——df.fillna df.fillna(value=None,axis=None)
3.判斷數(shù)據(jù)是否為缺失——df.isnull
為什么要這樣用這個(gè)方法判斷是否為缺失? 因?yàn)閚an不等于nan(如下例),即用類(lèi)似x == nan條件為真 這樣的判斷方法無(wú)法判斷一個(gè)值x是否為nan。
07.常用統(tǒng)計(jì)函數(shù) 常用統(tǒng)計(jì)函數(shù)
查看函數(shù)的詳細(xì)信息 08.panel類(lèi)型數(shù)據(jù)分解成dataframe 1.panel的取用方法 panel類(lèi)型的的取用方法類(lèi)似與dataframe,看下例子也就明白了。一般要做統(tǒng)計(jì)方面的工作,也是如下分解成dataframe進(jìn)行操作,基本滿足日常需求。了解更多panel的操作可參考:http://pandas./pandas-docs/stable/api.html#panel 2.panel類(lèi)型數(shù)據(jù)分解成dataframe方法
09.研究?jī)?nèi)存取dataframe 1.把dataframe存成csv文件——df.to_csv() 用法如下,文件都是存到研究空間中的,如果不寫(xiě)路徑是默認(rèn)是存在根目錄,如df.to_csv('df.csv')
2.讀取被存成csv文件的dataframe——pd.read_csv()
文章來(lái)源于:JoinQuant聚寬 聚寬,國(guó)內(nèi)最大Python量化平臺(tái),提供從數(shù)據(jù)、回測(cè)、模擬、實(shí)盤(pán)等全流程產(chǎn)品。聚寬已匯聚超過(guò)15w量化愛(ài)好者,與數(shù)十家機(jī)構(gòu)合作,聚寬公眾號(hào)會(huì)定期更新量化干貨,教你用Python寫(xiě)出好策略。 ---恢復(fù)內(nèi)容結(jié)束--- |
|