如何从Pandas特定年份的每周数据中获取年度值?

2024-04-18 00:11:16 发布

您现在位置: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()

谢谢大家!


Tags: thekeyimportpandasdatadatetimeaswiki
1条回答
网友
1楼 · 发布于 2024-04-18 00:11:16

我不知道你到底想干什么。也许如果你详细说明你在寻找什么,或者最终结果应该是什么样子,我会更接近我的答案

您可以这样分组:

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

看起来所有4只股票的df中的成交量值都相同。我会再检查一遍

相关问题 更多 >

    热门问题