python - 如何从熊猫特定年份的每周数据中获取年度值?
问题描述
import pandas as pd
import datetime as dt
from pandas_datareader import data, wb
#here I take the stocks from quandl
start = dt.datetime(2015, 1, 1)
end = dt.datetime.today()
stocks = ["WIKI/AAPL", "WIKI/TSLA", "WIKI/IBM", "WIKI/LNKD"]
key = "fmP5pv-nVvhKmjWwF7Fb"
df = data.DataReader(stocks, "quandl", start, end, api_key=key)
# Here I create a dataFrame with the Volume values.
vol = df['Volume']
# Here I aggregate the data of Volume to weekly
vol['week'] = vol.index.week
vol['year'] = vol.index.year
week = vol.groupby(['year','week']).sum()
现在我想查找 2015 年的所有交易量,可能使用 groupby 删除周列带。类似的东西
year = vol.groupby(['2015']).sum()
year.head()
谢谢!
解决方案
我不确定你到底想在这里做什么。也许如果你详细说明你在寻找什么,或者最终结果应该是什么样子,我会更接近我的答案。
你可以这样分组:
vol.drop('week',axis=1).groupby('year').sum()
Symbols WIKIAAPL WIKIIBM WIKILNKD WIKITSLA
year
2015 1.306432e+10 1.306432e+10 1.306432e+10 1.306432e+10
2016 9.685872e+09 9.685872e+09 9.685872e+09 9.685872e+09
2017 6.640747e+09 6.640747e+09 6.640747e+09 6.640747e+09
2018 2.148944e+09 2.148944e+09 2.148944e+09 2.148944e+09
或者只是得到总计2015
vol[vol.year == 2015].sum()
Symbols
WIKIAAPL 1.306432e+10
WIKIIBM 1.306432e+10
WIKILNKD 1.306432e+10
WIKITSLA 1.306432e+10
week 6.886000e+03
year 5.077800e+05
dtype: float64
看起来df
所有 4 只股票的成交量值都相同。我会仔细检查一下。
推荐阅读
- python - 在 Raspbian Buster 上安装 OpenCV
- javascript - GET 请求 200 到 json
- angular - NgxWebstorageModule -> StrategyIndex 没有提供 StrategyIndex
- java - 将列表中的 Arraylist 与同一列表中的其他 Arraylist 进行比较
- swift - 计算 UILabel 的高度
- c++ - WinAPI 工具栏文本颜色
- python - 当多个线程将值扩展到同一个列表对象时,是否存在丢失数据的风险?[Python]
- asp.net-mvc - Aspnet Mvc 5 - 共享 Owin cookie 身份验证在 IIS 8.5 上不起作用
- mysql - mysql 8.0 可以运行这个 sql 脚本,但是在 mariaDB 5.5 中不能运行并且错误:1064 (42000)
- java - ToastMessages 不显示