
傳送門(mén):
- Python數(shù)據(jù)科學(xué)(一)- python與數(shù)據(jù)科學(xué)應(yīng)用(Ⅰ)
- Python數(shù)據(jù)科學(xué)(二)- python與數(shù)據(jù)科學(xué)應(yīng)用(Ⅱ)
- Python數(shù)據(jù)科學(xué)(三)- python與數(shù)據(jù)科學(xué)應(yīng)用(Ⅲ)
- Python數(shù)據(jù)科學(xué)(四)- 數(shù)據(jù)收集系列
- Python數(shù)據(jù)科學(xué)(五)- 數(shù)據(jù)處理和數(shù)據(jù)采集
- Python數(shù)據(jù)科學(xué)(六)- 資料清理(Ⅰ)
- Python數(shù)據(jù)科學(xué)(七)- 資料清理(Ⅱ)
- Python數(shù)據(jù)科學(xué)(八)- 資料探索與資料視覺(jué)化
- Python數(shù)據(jù)科學(xué)(九)- 使用Pandas繪制統(tǒng)計(jì)圖表
1.敘述性統(tǒng)計(jì)與推論性統(tǒng)計(jì)
- 敘述性統(tǒng)計(jì)
有系統(tǒng)的歸納數(shù)據(jù),了解數(shù)據(jù)的輪廓
對(duì)數(shù)據(jù)樣本做敘述性陳述,例如:平均數(shù)、標(biāo)準(zhǔn)偏差、計(jì)次頻率、百分比
對(duì)數(shù)據(jù)資料的圖像化處理,將數(shù)據(jù)摘要變?yōu)閳D標(biāo)表 - 推論性統(tǒng)計(jì)
資料模型的建構(gòu)
從樣本推論整體資料的概況
相關(guān)、回歸、單因子變異數(shù)、因素分析
1.敘述性統(tǒng)計(jì)
1.我們一般有三種方式進(jìn)行敘述性統(tǒng)計(jì)
- 對(duì)大多數(shù)資料進(jìn)行分析,80%都是在于如何加總與平均
eg:- 銷(xiāo)售份額
- 客戶數(shù)量
- 業(yè)績(jī)成長(zhǎng)量
- 使用SQL做敘述性統(tǒng)計(jì)(通過(guò)加入限制條件得到我們需要的數(shù)據(jù))
select * from tb1 where col1 >= 100 limit 3
2.如何操作數(shù)據(jù)
- 操作數(shù)據(jù)我們常常需要
- 分割數(shù)據(jù)(Split)
- 轉(zhuǎn)換數(shù)據(jù)(Transformation)
- 聚合數(shù)據(jù)(Aggregation)
- 探索數(shù)據(jù)(Exploration)
- 需要如同SQL的語(yǔ)法去操作數(shù)據(jù)
首先我們需要安裝pandas_datareader,pip install pandas_datareader,pandas_datareader是一個(gè)遠(yuǎn)程獲取金融數(shù)據(jù)的Python工具,它提供了下面幾個(gè)機(jī)構(gòu)的數(shù)據(jù)。Yahoo! Finance:雅虎金融
Google Finance:谷歌金融
Enigma:Enigma是一個(gè)公共數(shù)據(jù)搜索的提供商
St.Louis FED (FRED):圣路易斯聯(lián)邦儲(chǔ)備銀行
Kenneth French’s data library:肯尼斯弗蘭奇資料庫(kù)
World Bank:世界銀行
OECD:經(jīng)合組織
Eurostat:歐盟統(tǒng)計(jì)局
Thrift Savings Plan:美國(guó)聯(lián)邦政府管理離退休的組織
import pandas_datareader
pandas_datareader.DataReader(name, data_source=None, start=None, end=None, retry_count=3,
pause=0.001, session=None, access_key=None)
- name:股票名稱(chēng)
- data_source:數(shù)據(jù)來(lái)源,可以是雅虎,谷歌等等
- start:開(kāi)始日期
- end:截止日期
- retry_count: 如果斷開(kāi)連接重新連接幾次
- pause:抓取數(shù)據(jù)的中間是否需要停頓
- session:是否需要加入session
- access_key:如果接口需要提供access_key,則此項(xiàng)需要填
2.進(jìn)行讀取相關(guān)數(shù)據(jù)
丘老師是使用pandas_datareader.DataReader來(lái)讀取的雅虎提供的阿里巴巴股票數(shù)據(jù),現(xiàn)在雅虎已經(jīng)被棄用。這里我使用Tushare來(lái)讀取金融數(shù)據(jù)。
Tushare是一個(gè)免費(fèi)、開(kāi)源的python財(cái)經(jīng)數(shù)據(jù)接口包。
import tushare
# 獲取大盤(pán)指數(shù)實(shí)時(shí)行情列表
df = ts.get_index()
# 查看后五行
df.tail()

備注:返回值說(shuō)明
- code:指數(shù)代碼
- name:指數(shù)名稱(chēng)
- change:漲跌幅
- open:開(kāi)盤(pán)點(diǎn)位
- preclose:昨日收盤(pán)點(diǎn)位
- close:收盤(pán)點(diǎn)位
- high:最高點(diǎn)位
- low:最低點(diǎn)位
- volume:成交量(手)
- amount:成交金額(億元)
# 查看列
df.columns

1.做一些簡(jiǎn)易的統(tǒng)計(jì)
-
針對(duì)單列進(jìn)行統(tǒng)計(jì)
- 算出總和:
df['volume'].sum() - 算出平均:
df['volume'].mean() - 算出標(biāo)準(zhǔn)差:
df['volume'].std() - 取得最小值:
df['volume'].min() - 取得最大值:
df['volume'].max() - 取得筆數(shù):
df['volume'].count()
- 算出總和:
- 針對(duì)多列進(jìn)行統(tǒng)計(jì)
# 取得最低開(kāi)盤(pán)點(diǎn)位,最低收盤(pán)點(diǎn)位
df[['open', 'close']].min()

2.取得整體敘述性統(tǒng)計(jì)
df.describe()

均值,標(biāo)準(zhǔn)差,最大值,最小值等等
3.計(jì)算當(dāng)日大盤(pán)指數(shù)當(dāng)日漲跌次數(shù)
- 計(jì)算當(dāng)日漲跌
df['diff'] = df['close'] - df['open']
df['rise'] = df['diff'] > 0 # 漲
df['fall'] = df['diff'] < 0 # 跌

可以看到多了差額、漲、跌三列
- 計(jì)算漲跌次數(shù)
df[['rise', 'fall']].sum()

如果你覺(jué)得我的文章還可以,可以關(guān)注我的微信公眾號(hào):Python攻城獅

可掃描二維碼,添加關(guān)注