Pandas 按年份把行加起来
我的数据框如下所示:Pandas 按年份把行加起来,pandas,datetime,time-series,stock,pandas-resample,Pandas,Datetime,Time Series,Stock,Pandas Resample,我的数据框如下所示: Dividends Stock Splits Date 2014-08-13 0.28 0.0 2015-04-27 0.30 0.0 2015-07-31 0.30 0.0 2016-05-05 0.30 0.0 2016-08-15 0.30
Dividends Stock Splits
Date
2014-08-13 0.28 0.0
2015-04-27 0.30 0.0
2015-07-31 0.30 0.0
2016-05-05 0.30 0.0
2016-08-15 0.30 0.0
2017-05-04 0.30 0.0
2017-08-11 0.33 0.0
2018-05-03 0.50 0.0
2018-08-08 0.60 0.0
2019-05-02 0.60 0.0
2019-05-17 0.30 0.0
2019-08-05 0.30 0.0
2019-11-18 0.30 0.0
2020-04-07 0.33 0.0
2020-05-12 0.33 0.0
我想将每年的股息相加,显示如下:
2015 0.60
2016 0.60
2017 0.63
2018 1.10
....
任何帮助都将不胜感激。非常感谢
resample()
Dividends
Date
2014-12-31 0.28
2015-12-31 0.60
2016-12-31 0.60
2017-12-31 0.63
2018-12-31 1.10
2019-12-31 1.50
2020-12-31 0.66
resample()
Dividends
Date
2014-12-31 0.28
2015-12-31 0.60
2016-12-31 0.60
2017-12-31 0.63
2018-12-31 1.10
2019-12-31 1.50
2020-12-31 0.66
您可以使用
pd.to_datetime
将索引'Date'
转换为datetime,然后根据索引年份尝试groupby
+sum
:
df.index=pd.to_datetime(df.index)
df.groupby(df.index.year)['Dividends'].sum()
输出:
Date
2014 0.28
2015 0.60
2016 0.60
2017 0.63
2018 1.10
2019 1.50
2020 0.66
您可以使用
pd.to_datetime
将索引'Date'
转换为datetime,然后根据索引年份尝试groupby
+sum
:
df.index=pd.to_datetime(df.index)
df.groupby(df.index.year)['Dividends'].sum()
输出:
Date
2014 0.28
2015 0.60
2016 0.60
2017 0.63
2018 1.10
2019 1.50
2020 0.66