这十套练习,教你如何用Pandas做数据分析(09)

9 篇文章 2 订阅
9 篇文章 0 订阅

练习9-时间序列

探索Apple公司股价数据

在这里插入图片描述
步骤1 导入必要的库

运行以下代码

import pandas as pd
import numpy as np

visualization

import matplotlib.pyplot as plt

%matplotlib inline
步骤2 数据集地址

运行以下代码

path9 = ‘…/input/pandas_exercise/pandas_exercise/exercise_data/Apple_stock.csv’ # Apple_stock.csv
步骤3 读取数据并存为一个名叫apple的数据框

运行以下代码

apple = pd.read_csv(path9)
apple.head()
Date Open High Low Close Volume Adj Close
0 2014-07-08 96.27 96.80 93.92 95.35 65130000 95.35
1 2014-07-07 94.14 95.99 94.10 95.97 56305400 95.97
2 2014-07-03 93.67 94.10 93.20 94.03 22891800 94.03
3 2014-07-02 93.87 94.06 93.09 93.48 28420900 93.48
4 2014-07-01 93.52 94.07 93.13 93.52 38170200 93.52
步骤4 查看每一列的数据类型

运行以下代码

apple.dtypes
Date object
Open float64
High float64
Low float64
Close float64
Volume int64
Adj Close float64
dtype: object
步骤5 将Date这个列转换为datetime类型

运行以下代码

apple.Date = pd.to_datetime(apple.Date)
apple[‘Date’].head()
0 2014-07-08
1 2014-07-07
2 2014-07-03
3 2014-07-02
4 2014-07-01
Name: Date, dtype: datetime64[ns]
步骤6 将Date设置为索引

运行以下代码

apple = apple.set_index(‘Date’)
apple.head()
Open High Low Close Volume Adj Close
Date
2014-07-08 96.27 96.80 93.92 95.35 65130000 95.35
2014-07-07 94.14 95.99 94.10 95.97 56305400 95.97
2014-07-03 93.67 94.10 93.20 94.03 22891800 94.03
2014-07-02 93.87 94.06 93.09 93.48 28420900 93.48
2014-07-01 93.52 94.07 93.13 93.52 38170200 93.52
步骤7 有重复的日期吗?

运行以下代码

apple.index.is_unique
True
步骤8 将index设置为升序

运行以下代码

apple.sort_index(ascending = True).head()
Open High Low Close Volume Adj Close
Date
1980-12-12 28.75 28.87 28.75 28.75 117258400 0.45
1980-12-15 27.38 27.38 27.25 27.25 43971200 0.42
1980-12-16 25.37 25.37 25.25 25.25 26432000 0.39
1980-12-17 25.87 26.00 25.87 25.87 21610400 0.40
1980-12-18 26.63 26.75 26.63 26.63 18362400 0.41
步骤9 找到每个月的最后一个交易日(business day)

运行以下代码

apple_month = apple.resample(‘BM’)
apple_month.head()
/opt/conda/lib/python3.5/site-packages/ipykernel_launcher.py:3: FutureWarning:
.resample() is now a deferred operation
You called head(…) on this deferred object which materialized it into a dataframe
by implicitly taking the mean. Use .resample(…).mean() instead
This is separate from the ipykernel package so we can avoid doing imports until
Open High Low Close Volume Adj Close
Date
1980-12-31 30.481538 30.567692 30.443077 30.443077 2.586252e+07 0.473077
1981-01-30 31.754762 31.826667 31.654762 31.654762 7.249867e+06 0.493810
1981-02-27 26.480000 26.572105 26.407895 26.407895 4.231832e+06 0.411053
1981-03-31 24.937727 25.016818 24.836364 24.836364 7.962691e+06 0.387727
1981-04-30 27.286667 27.368095 27.227143 27.227143 6.392000e+06 0.423333
步骤10 数据集中最早的日期和最晚的日期相差多少天?

运行以下代码

(apple.index.max() - apple.index.min()).days
12261
步骤11 在数据中一共有多少个月?

运行以下代码

apple_months = apple.resample(‘BM’).mean()
len(apple_months.index)
404
步骤12 按照时间顺序可视化Adj Close值

运行以下代码

makes the plot and assign it to a variable

appl_open = apple[‘Adj Close’].plot(title = “Apple Stock”)

changes the size of the graph

fig = appl_open.get_figure()
fig.set_size_inches(13.5, 9)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值