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

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

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

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

均值,標準差,最大值,最小值等等
3.計算當日大盤指數(shù)當日漲跌次數(shù)
- 計算當日漲跌
df['diff'] = df['close'] - df['open']
df['rise'] = df['diff'] > 0 # 漲
df['fall'] = df['diff'] < 0 # 跌

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

如果你覺得我的文章還可以,可以關注我的微信公眾號:Python攻城獅

可掃描二維碼,添加關注