A级片三级毛片中文字幕|97人人干人人爱|aaaaa毛片亚洲av资源网|超碰97在线播放|日本一a级毛片欧美一区黄|日韩专区潮吹亚洲AV无码片|人人香蕉视频免费|中文字幕欧美激情极品|日本高清一级免费不卡|国模大胆在线国产啪视频

AQF
首頁(yè) 備考指南 精品課程 名師團(tuán)隊(duì) 職業(yè)前景
您現(xiàn)在的位置:首頁(yè)備考必備AQF教材 Python基礎(chǔ)應(yīng)用之列表推導(dǎo)式

Python基礎(chǔ)應(yīng)用之列表推導(dǎo)式

發(fā)表時(shí)間: 2018-10-24 13:25:08 編輯:tansy

量化金融分析師AQF丨列表推導(dǎo)式是 Python 中的一項(xiàng)特色語(yǔ)法,功能是快速生成一個(gè)列表,有代碼簡(jiǎn)潔且功能強(qiáng)大的特點(diǎn)。列表推導(dǎo)式在效率方面也比用使用for循環(huán)運(yùn)行效率更高,這是因?yàn)镻ython 中的內(nèi)置函數(shù)基本都是用C語(yǔ)言實(shí)現(xiàn)的,因此列表推導(dǎo)式內(nèi)部的迭代是以C語(yǔ)言的速度運(yùn)行,因此在列表推導(dǎo)式和for循環(huán)能夠?qū)崿F(xiàn)相同的目的時(shí),列表推導(dǎo)式是優(yōu)先選擇。

  量化金融分析師AQF丨列表推導(dǎo)式是 Python 中的一項(xiàng)特色語(yǔ)法,功能是快速生成一個(gè)列表,有代碼簡(jiǎn)潔且功能強(qiáng)大的特點(diǎn)。

  列表推導(dǎo)式在效率方面也比用使用for循環(huán)運(yùn)行效率更高,這是因?yàn)镻ython 中的內(nèi)置函數(shù)基本都是用C語(yǔ)言實(shí)現(xiàn)的,因此列表推導(dǎo)式內(nèi)部的迭代是以C語(yǔ)言的速度運(yùn)行,因此在列表推導(dǎo)式和for循環(huán)能夠?qū)崿F(xiàn)相同的目的時(shí),列表推導(dǎo)式是優(yōu)先選擇。

  以下是7段詳細(xì)學(xué)習(xí)代碼和具體注釋?zhuān)?/strong>

  In[1]:

  # 基本語(yǔ)法

  l =[fun(var) for var in iterable]

  # iterable 是產(chǎn)生元素 var的可迭代對(duì)象, 可以對(duì) var 做進(jìn)一步運(yùn)算產(chǎn)生新的列表

  In[2]:

  # 產(chǎn)生一列偶數(shù)

  l = [i *2 for i in range(10)]

  print(l)

  Out[2]:

  [0,2, 4, 6, 8, 10, 12, 14, 16, 18]

  In[3]:

  # 列表推導(dǎo)式可以加入挑選條件

  m = [i *2 for i in range(10) if i %5==0]

  # 只有 i 能整除 5 的情況下, i才能進(jìn)入一下步推導(dǎo)運(yùn)算

  print(m)

  Out[3]:

  [0, 10]

  In[4]:

  # 列表推導(dǎo)式可以嵌套

  month=['%d-%02d'%(year, mon) for year in [2016, 2017] for monin range(1,13)]

  print(month)

  Out[4]:

  ['2016-01', '2016-02','2016-03', '2016-04', '2016-05', '2016-06', '2016-07', '2016-08', '2016- 09','2016-10', '2016-11', '2016-12', '2017-01', '2017-02', '2017-03', '2017-04','2017-05', '2017-06', '2017-07', '2017-08', '2017-09', '2017-10', '2017-11', '2017-12']

  In[5]:

  # 列表推導(dǎo)式中可以執(zhí)行更復(fù)雜的計(jì)算

  mod_month =[int(m[:4], m[5:])

  for m in month[:12]]

  print(mod_month)

  Out[5]:

  [201601, 201602,201603, 201604, 201605, 201606, 201607, 201608, 201609, 201610, 201611, 201612]

  In[6]:

  # 列表推導(dǎo)式的語(yǔ)法也可以推廣到字典

  name =['A', 'B', 'C']

  ID = [1, 2,4]

  pair ={n: _id for n, _id in zip(name, ID)}

  # zip() 函數(shù)的功能是將多個(gè)數(shù)組對(duì)應(yīng)位置的元素形成元組,再形成以這些元組為元素的列表

  print(pair)

  Out[6]:

  {'A': 1, 'B': 2, 'C':4}

  In[7]:

  # 實(shí)戰(zhàn)應(yīng)用

  # 通過(guò) tushare 獲取多只股票的日線漲跌幅數(shù)據(jù)

  import tushare as ts

  import pandas as pd

  stocks =['600868', '000002', 'hs300']

  # 使用字典推導(dǎo)式將每個(gè)股票代碼與對(duì)應(yīng)的數(shù)據(jù)形成字典

  pct_change={stock: ts.get_hist_data(stock,'2017-07-17', '2017-07-21','D')['p_change'] for stock in stocks}

  # 根據(jù)字典內(nèi)容生成對(duì)應(yīng)的 dataframe

  df = pd.DataFrame(pct_change)

  print(df.head(5))

  Out[7]

  000002 600868 hs300

  2017-07-17 NaN -5.59 -1.07

  2017-07-18 2.89 1.53 0.10

  2017-07-19 -0.63 2.38 1.71

  2017-07-20 0.83 0.42 0.49

  2017-07-21 -2.25 -1.05 -0.51

>>>點(diǎn)擊了解Python金融實(shí)戰(zhàn)應(yīng)用

  附上GIF動(dòng)圖,更直觀了解Python金融實(shí)戰(zhàn)應(yīng)用。那么祝大家學(xué)習(xí)愉快~

  量化金融分析師AQF

  量化金融分析師AQF

  往期精彩回顧:

  AQF丨Python基礎(chǔ)應(yīng)用之列表推導(dǎo)式

  AQF純干貨丨Jupyter Notebook 的使用技巧

  金程推薦: AQF考試 AQF報(bào)名 AQF培訓(xùn)

  量化金融分析師AQF交流答疑群:737550026

  聲明▎更多內(nèi)容請(qǐng)關(guān)注微信號(hào)量化金融分析師。原創(chuàng)文章,歡迎分享,若需引用或轉(zhuǎn)載請(qǐng)保留此處信息。

  >>>返回首頁(yè)

吐槽

對(duì)不起!讓你吐槽了

/500

上傳圖片

    可上傳3張圖片

    掃描二維碼登錄金程網(wǎng)校

    請(qǐng)使用新版 金程網(wǎng)校APP 掃碼完成登錄

    登錄即同意金程網(wǎng)校協(xié)議及《隱私政策》