iT邦幫忙

DAY 19
3

用python擷取網頁上的開放資訊(數據資料),分析及畫出圖表系列 第 15

python抓網頁data,及做圖表之十九:介紹Pandas

股市與上帝一樣,不同的是股市不會原諒不知道自己在做些什麼的人。

巴菲特

在將畫圖的程式用變數取代時,發現這種資料型態轉換(把SQL的dataset轉成畫圖的x,y List),應該很早就有這種需求,只是筆者不太熟這關鍵字要怎麼搜尋,先試一下pandas.
Python Data Analysis Library
官網是http://pandas.pydata.org/
在官網教學中,有一個10 Minutes to Pandas,10分鐘上手。

我們先試一下,看一下葫蘆裏賣著什麼膏藥。

Pandas是一個產生表格式data的工具庫。

簡易的做出表格式data,

s = pd.Series([1,3,5,np.nan,6,8])
s
Out[3]:
0     1
1     3
2     5
3   NaN
4     6
5     8

產生時間的陣列。滿激賞的。
股票和時間是連動的。

dates=pd.DateRange('20130101',periods=6)
dates
Out[5]:
<class 'pandas.core.daterange.DateRange'>
offset: <1 BusinessDay>, tzinfo: None
[2013-01-01 00:00:00, ..., 2013-01-08 00:00:00]
length: 6

日期的陣列。有意思的是會產生工作天。把假日去掉。

dates[2],dates[3],dates[4],dates[5]
Out[8]:
(datetime.datetime(2013, 1, 3, 0, 0),
 datetime.datetime(2013, 1, 4, 0, 0),
 datetime.datetime(2013, 1, 7, 0, 0),
 datetime.datetime(2013, 1, 8, 0, 0))

快速打作表格data, 它用DataFrame這個專有名詞來表達!

df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
df

Out[30]:
                   A         B         C         D
2013-01-01  0.507979 -0.458618 -0.772404  1.818761
2013-01-02  0.387739 -0.329805  0.692372  0.267453
2013-01-03 -0.159015 -1.010833  0.463948  1.005358
2013-01-04  1.927620  0.649585  1.208413 -0.693031
2013-01-07 -0.248774  1.687360 -0.537145  1.951803
2013-01-08  1.933946  0.264941 -2.341975 -1.806157

這個建構的方式,好像讓人耳目一新,也許也以解決筆者遇到的問題。
內建的統計功能。

df.describe()
Out[24]:
              A         B         C         D
count  6.000000  6.000000  6.000000  6.000000
mean  -0.226524  0.281673 -0.716989  0.569399
std    0.717004  0.727893  1.033587  0.865014
min   -1.333311 -0.899685 -1.744398 -0.513850
25%   -0.552823 -0.103056 -1.088389 -0.139714
50%   -0.189836  0.527759 -1.048515  0.722963
75%    0.259492  0.851652 -0.726865  1.110899
max    0.618388  0.887915  1.260821  1.671377

先簡介到此。

小結:因為很懶,所以直接用ubuntu的套件管理程式,安裝pandas, 結果很多10分鐘速成的
範例不能使用,查了一下,才發現裝的是0.7.0版。
目前正式釋出版是0.12, 開發中的版本是0.13。

一些函式。改一下名字還是可以用的。

可能讀者會發現,和http://pandas.pydata.org/pandas-docs/stable/10min.html
並不一致,編排方式不是英翻中。


上一篇
python抓網頁data,及做圖表之十八:自動化畫圖
下一篇
python抓網頁data,及做圖表之二十:裝新版Pandas,及補充一些常識
系列文
用python擷取網頁上的開放資訊(數據資料),分析及畫出圖表22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言