練習(xí)9-時間序列
探索Apple公司股價數(shù)據(jù)
步驟1 導(dǎo)入必要的庫
運行以下代碼
import pandas as pd
import numpy as np
# visualization
import matplotlib.pyplot as plt
%matplotlib inline
步驟2 數(shù)據(jù)集地址
運行以下代碼
#從目標(biāo)路徑導(dǎo)入數(shù)據(jù)集
path9 = 'D:/hailong/hailong_download/pandas_exercise/exercise_data/Apple_stock.csv'
步驟3 讀取數(shù)據(jù)并存為一個名叫apple的數(shù)據(jù)框
運行以下代碼
apple = pd.read_csv(path9)
apple.head()
步驟4 查看每一列的數(shù)據(jù)類型
運行以下代碼
apple.dtypes
步驟5 將Date這個列轉(zhuǎn)換為datetime類型
運行以下代碼
apple.Date = pd.to_datetime(apple.Date)
apple['Date'].head()
步驟6 將Date設(shè)置為索引
運行以下代碼
apple = apple.set_index('Date')
apple.head()
步驟7 有重復(fù)的日期嗎?
運行以下代碼
apple.index.is_unique
輸出結(jié)果:True
步驟8 將index設(shè)置為升序
運行以下代碼
apple.sort_index(ascending = True).head()
步驟9 找到每個月的最后一個交易日(business day)
運行以下代碼
apple_month = apple.resample('BM').mean()
apple_month.head()
注意: .resample()在高版本已不再使用(容易出錯點)
步驟10 數(shù)據(jù)集中最早的日期和最晚的日期相差多少天?
運行以下代碼
(apple.index.max() - apple.index.min()).days
輸出結(jié)果:12261
步驟11 在數(shù)據(jù)中一共有多少個月?
運行以下代碼
apple_months = apple.resample('BM').mean()
len(apple_months.index)
輸出結(jié)果:404
步驟12 按照時間順序可視化Adj Close值
運行以下代碼
# makes the plot and assign it to a variable
apple_open = apple['Adj Close'].plot(title = "Apple stock")
# changes the size of the graph
fig = apple_open.get_figure()
fig.set_size_inches(13.5,9)