python量化開發(fā)3|常用相關(guān)庫和函數(shù)知識點(diǎn)

今天是2017.4.20r侨糟。

年后這么久才實(shí)習(xí)碍扔,這是第四天了,這幾天看著代碼一直是處于困和好困的狀態(tài)秕重。說實(shí)話自己還不擅長和別人打招呼不同,然后和小組的人吃飯都感覺拘束的不行,就當(dāng)是一種鍛煉吧總是要經(jīng)歷的溶耘。(自我安慰)

想到上周日晚上和學(xué)良坐城際回來sz二拐,他跟我一樣公司要求必須實(shí)習(xí),于是兩人就感嘆有點(diǎn)不明白為什么快畢業(yè)了別人都是趁著論文送審后出去到處耍凳兵,而我們卻還這么苦逼百新,我自己還要想著三方和駕照的事。反正對于自己可能真的還沒有從心理上達(dá)到工作的狀態(tài)庐扫,我也想要畢業(yè)旅行啊啊啊啊啊饭望。

上一篇的知識點(diǎn)介紹是年前實(shí)習(xí)記錄的一點(diǎn),現(xiàn)在去看已經(jīng)沒有什么印象了形庭。后面的工作涉及基金評價(jià)的開發(fā)铅辞,這幾天看代碼時(shí)又陸陸續(xù)續(xù)看到有用到python和數(shù)據(jù)庫、用python計(jì)算一些指標(biāo)等萨醒,自己對python很多庫中的函數(shù)都沒接觸過斟珊,所以這里再接著記錄一些。


1富纸、二重MultiIndex的Series可以unstack()成DataFrame
data:

Row_1  Col_1     0        Row_2  Col_1     4
       Col_2     1               Col_2     5
       Col_3     2               Col_3     6
       Col_4     3               Col_4     7

Row_3  Col_1     8        Row_4  Col_1    12
       Col_2     9               Col_2    13
       Col_3    10              Col_3    14
       Col_4    11              Col_4    15

data.unstack():

Paste_Image.png

2囤踩、datetime庫使用
datetime.datetime.strftime():用于將任何日期時(shí)間轉(zhuǎn)化為指定時(shí)間格式字符串的函數(shù)
datetime.datetime.strptime():將字符串轉(zhuǎn)為指定日期型的函數(shù);

Paste_Image.png

3晓褪、replace(0,np.nan) :表示用null值來替換0

4堵漱、dropna():表示去除掉null值

5、set_index(‘NAME’):表示將列NAME設(shè)為固定的索引列辞州,不再作為值

6怔锌、resample: Pandas中的resample,重新采樣,一般是對原來的一段時(shí)間樣本重新處理的一個(gè)方法埃元。
常見的可取resample(‘d/w/m/q’)四個(gè)值 涝涤,分別對應(yīng)每天、每周周天岛杀、每個(gè)月月末阔拳、每個(gè)季度末。
Resample(‘d’).last()后一般跟一個(gè)last()类嗤,用于顯示抽樣出來的值糊肠。

例如:fund_nav=fund_nav.replace(0,np.nan).dropna().set_index('enddate').resample('D').last()
其中set_index('enddate').resample('D') 是將enddate作為了固定的index,然后以日期進(jìn)行resample重新取樣遗锣。

7货裹、st=fund_nav.index[0]-pd.Timedelta(days=10):表示st起始日期取10天前的日期。

8精偿、sql中where條件下的1=1
使用 where 1=1 的好處
假如我們將上述的語句改為:
  string MySqlStr=”select * from table where 1=1 ”弧圆;
  if(Age.Text.Lenght>0)
  {
    MySqlStr=MySqlStr+“and Age=“+“'Age.Text'“;
  }
  if(Address.Text.Lenght>0)
  {
    MySqlStr=MySqlStr+“and Address=“+“'Address.Text“笔咽;
  }
  現(xiàn)在搔预,也存在兩種假設(shè)
  ①種假設(shè)
  如果兩個(gè)IF都成立叶组,那么拯田,語句變?yōu)椋?br>   MySqlStr=”select * from table where 1=1 and Age='18' and Address='云南省文山州廣南縣小波嗎村'”,很明顯甩十,該語句是一條正確的語句船庇,能夠正確執(zhí)行,如果數(shù)據(jù)庫有記錄枣氧,肯定會被查詢到溢十。
  ②種假設(shè)
  如果兩個(gè)IF都不成立达吞,那么张弛,語句變?yōu)椋篗ySqlStr=”select * from table where 1=1”,現(xiàn)在酪劫,我們來看這條語句吞鸭,由于where 1=1 是為True的語句,因此覆糟,該條語句語法正確刻剥,能夠被正確執(zhí)行,它的作用相當(dāng)于:MySqlStr=”select * from table”滩字,即返回表中所有數(shù)據(jù)造虏。

9御吞、python中l(wèi)en()函數(shù)可以用來計(jì)算字符串、列表以及字典的長度漓藕。

10陶珠、Python 字典(Dictionary) update() 函數(shù)
dict.update(dict2) 用于把字典dict2的鍵/值對更新到dict里

11.png

11、 shift()函數(shù)的使用享钞, nav_S.shift(1)用于將series nav_S中的值整體向后移動1

12揍诽、 python中copy()和deepcopy()的區(qū)別

12.png

13、缺失值填充方法——ffill()和 bfill()
當(dāng)一個(gè)series中出現(xiàn)缺失值時(shí)栗竖,用ffill()表示用空值的前一個(gè)值來填充暑脆,bfill()則表示用空值后面的值來填充。

obj3 = Series(['blue', 'purple', 'yellow'], index=[1, 2, 4])
a=obj3.reindex(range(6), method='ffill')
結(jié)果為:
0      blue
1      blue
2    purple
3    purple
4    yellow
5    yellow

14狐肢、pandas中iloc添吗、loc、ix的區(qū)別是什么处坪?
區(qū)別在于:

  • iloc是根據(jù)前多少行/列來確定值根资,只能接收整數(shù)
  • loc則是接收字典中的“索引值”來得到相應(yīng)數(shù)值,若給的索引值不存在同窘,則返回錯誤
  • ix既可以接收取前多少行的整數(shù)值,也可以接收索引值部脚。
    s = pd.Series(np.nan, index=[49,48,47,46,45, 1, 2, 3, 4, 5])

例如:
df.iloc[3]表示取第3行的值想邦;df.loc[3]則表示取索引值為3的值;df.ix[:'c', :4]則表示取索引值為‘c’的前幾行委刘,以及前4列的值

15丧没、dropna()的 使用
b=a.dropna(),則直接將a中的nan值給刪除掉了

0    purple  
1    purple
2    purple
3    yellow
4    yellow
5       NaN

0    purple
1    purple
2    purple
3    yellow
4    yellow
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锡移,一起剝皮案震驚了整個(gè)濱河市呕童,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌淆珊,老刑警劉巖夺饲,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異施符,居然都是意外死亡往声,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門戳吝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浩销,“玉大人,你說我怎么就攤上這事听哭÷螅” “怎么了塘雳?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長普筹。 經(jīng)常有香客問我粉捻,道長,這世上最難降的妖魔是什么斑芜? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任肩刃,我火速辦了婚禮,結(jié)果婚禮上杏头,老公的妹妹穿的比我還像新娘盈包。我一直安慰自己,他們只是感情好醇王,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布呢燥。 她就那樣靜靜地躺著,像睡著了一般寓娩。 火紅的嫁衣襯著肌膚如雪叛氨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天棘伴,我揣著相機(jī)與錄音寞埠,去河邊找鬼。 笑死焊夸,一個(gè)胖子當(dāng)著我的面吹牛仁连,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阱穗,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼饭冬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了揪阶?” 一聲冷哼從身側(cè)響起昌抠,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鲁僚,沒想到半個(gè)月后炊苫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蕴茴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年劝评,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倦淀。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒋畜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出撞叽,到底是詐尸還是另有隱情姻成,我是刑警寧澤插龄,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站科展,受9級特大地震影響均牢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜才睹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一徘跪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琅攘,春花似錦垮庐、人聲如沸寺惫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墨微。三九已至,卻和暖如春稀并,著一層夾襖步出監(jiān)牢的瞬間洒忧,已是汗流浹背胁塞。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工荧关, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留溉奕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓羞酗,卻偏偏與公主長得像腐宋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子檀轨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容