五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    樓主: zwy_0309
    1029 0

    Python+pandas+每天股票漲了多少 [推廣有獎]

    • 1關(guān)注
    • 3粉絲

    碩士生

    36%

    還不是VIP/貴賓

    -

    威望
    0
    論壇幣
    342 個
    通用積分
    99.1487
    學(xué)術(shù)水平
    11 點(diǎn)
    熱心指數(shù)
    9 點(diǎn)
    信用等級
    7 點(diǎn)
    經(jīng)驗(yàn)
    4173 點(diǎn)
    帖子
    69
    精華
    0
    在線時間
    149 小時
    注冊時間
    2019-6-4
    最后登錄
    2024-12-16

    樓主
    zwy_0309 在職認(rèn)證  發(fā)表于 2020-9-17 11:16:51 |只看作者 |壇友微信交流群|倒序 |AI寫論文

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個全額獎學(xué)金名額~ !

    感謝您參與論壇問題回答

    經(jīng)管之家送您兩個論壇幣!

    +2 論壇幣
    第一步:得到某支股票歷年來的交易數(shù)據(jù)

    方法見:https://blog.csdn.net/zwy_0309/article/details/108217342

    在此,我使用以下腳本得到股票(代碼:688022)在開始時間至現(xiàn)在的行情信息:

    【腳本】

    import tushare as ts
    frame = ts.get_k_data('688022', start='2019-07-22')
    print(frame)


    【結(jié)果】

              date   open  close  high    low      volume   code

    0   2019-07-22  67.60  50.19 68.99  33.53  17681055.0 688022

    1   2019-07-23  40.98  44.45 47.55  40.98   6996702.0 688022

    2   2019-07-24  45.18  50.72 50.85  45.18   9718576.0 688022

    3   2019-07-25  52.00  55.17 60.65  52.00  11794163.0 688022

    4   2019-07-26  53.52  51.70 55.45  50.44   7550641.0 688022

    ..         ...    ...    ...   ...    ...         ...    ...

    279 2020-09-10  38.01  36.79 38.60  36.79    906319.0 688022

    280 2020-09-11  36.83  37.30 37.88  36.33    841580.0 688022

    281 2020-09-14  37.88  38.43 39.01  37.88   1095643.0 688022

    282 2020-09-15  38.66  38.48 38.92  38.22    760755.0 688022

    283 2020-09-16  38.80  39.30 39.61  38.01    993362.0 688022

    [284 rows x 7 columns]

    【說明】

    2  以上結(jié)果中只展示了前5及后5條數(shù)據(jù),如果想加載全部的數(shù)據(jù),則在代碼中增加一句話:pd.set_option('display.max_rows', None)

    2  當(dāng)然,有時列太多,也會顯示不全,如果想顯示全,則用pd.set_option('display.max_columns', None),


    2  如果列太多換行了,則增加一個設(shè)置語句:pd.set_option('display.width', 500),其中500是整體顯示的寬度,這樣有的列不會換行。
    第二步:設(shè)置時間序列索引

    【腳本】

    frame = frame.set_index('date')
    frame.index = pd.to_datetime(frame.index)

    【結(jié)果】

                open  close    high   low      volume    code

    date                                                      

    2019-07-22 67.60  50.19   68.99 33.53  17681055.0  688022

    2019-07-23 40.98  44.45   47.55 40.98   6996702.0  688022


    【說明】

    在顯示上與上面不同,date不再是列標(biāo)題,而是變成了索引,之前的位置索引0、1、2……不見了。

    另外,還需要將索引列轉(zhuǎn)換為時間類型,使用的函數(shù)為to_datetime()


    第三步:得到每天收盤價比前一天收盤時漲的費(fèi)用


    方法一:移動收盤價形成新的frame,再將兩個frame的close列相減

    【腳本】

    frame1 = frame.shift(1)
    print(frame1)
    print(frame['close'] - frame1['close'])

    【結(jié)果1】

                open  close   high   low      volume    code

    date                                                     

    2019-07-22    NaN   NaN    NaN    NaN        NaN     NaN

    2019-07-23 67.60  50.19  68.99 33.53  17681055.0  688022

    2019-07-24 40.98  44.45  47.55 40.98   6996702.0  688022

    【結(jié)果2】

    date

    2019-07-22     NaN

    2019-07-23  -5.74

                  ...

    2020-09-15    0.05

    2020-09-16    0.82



    【說明】

    1、 對比原frame數(shù)據(jù)與【結(jié)果1】,發(fā)現(xiàn)frame1的數(shù)據(jù)都發(fā)生了向下位移1天的情況,而索引沒有變化。

    2、 【結(jié)果2】即為每天收盤價減前一天收盤價的增加量,即為股票漲了多少。

    仔細(xì)看會發(fā)現(xiàn),這樣的結(jié)果中,索引列數(shù)據(jù)不是連續(xù)的,而是只有交易日的數(shù)據(jù)。


    方法二:移動索引列形成新的frame,再將兩個frame的close列相減

    【腳本】

    frame2 = frame.shift(-1, freq='D')
    print(frame2)
    print(frame['close'] - frame2['close'])


    【結(jié)果1】

                 open  close  high    low      volume   code

    date                                                     

    2019-07-21  67.60 50.19  68.99  33.53 17681055.0  688022

    2019-07-22  40.98 44.45  47.55  40.98  6996702.0  688022

    2019-07-23  45.18 50.72  50.85  45.18  9718576.0  688022

    【結(jié)果2】

    date

    2019-07-21     NaN

    2019-07-22    5.74

    2019-07-23   -6.27

    2019-07-24   -4.45

    2019-07-25    3.47

                  ...

    2020-09-11     NaN

    2020-09-13     NaN

    2020-09-14   -0.05

    2020-09-15   -0.82

    2020-09-16     NaN

    【說明】

    索引列向后移動后,自動補(bǔ)了一天‘2019-07-21’,可以想到,后面每一周同樣會補(bǔ)一個日期,而這個日期卻不是交易日,在原frame中是不存在的。

    由【結(jié)果2】可以看出,因?yàn)槿掌谒饕囊苿优c自動被充,會導(dǎo)致非交易日數(shù)據(jù)相減結(jié)果為“NaN”。這一情況,在方法一中是不存在的。


    總結(jié)

    以上方法,比循環(huán)使用“第i行數(shù)據(jù)減第i-1行數(shù)據(jù)”的方法執(zhí)行效率高。

    記住frame.shift()函數(shù)



    二維碼

    掃碼加我 拉你入群

    請注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:pandas python panda Das datetime

    您需要登錄后才可以回帖 登錄 | 我要注冊

    本版微信群
    加好友,備注cda
    拉您進(jìn)交流群

    京ICP備16021002-2號 京B2-20170662號 京公網(wǎng)安備 11010802022788號 論壇法律顧問:王進(jìn)律師 知識產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2025-1-1 12:44