Python數(shù)據(jù)科學(xué)(八)- 資料探索與資料視覺(jué)化

傳送門(mén):

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_datareaderpip install pandas_datareader,pandas_datareader是一個(gè)遠(yuǎn)程獲取金融數(shù)據(jù)的Python工具,它提供了下面幾個(gè)機(jī)構(gòu)的數(shù)據(jù)。
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)注

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容