给定以下数据框,如何生成条件累积总和列。
import pandas as pd
import numpy as np
data = {'D':[2015,2015,2015,2015,2016,2016,2016,2017,2017,2017], 'Q':np.arange(10)}
df = pd.DataFrame(data)
D Q
0 2015 0
1 2015 1
2 2015 2
3 2015 3
4 2016 4
5 2016 5
6 2016 6
7 2017 7
8 2017 8
9 2017 9
Run Code Online (Sandbox Code Playgroud)
累计总和将整列相加。我正在尝试弄清楚如何将np.cumsum与条件函数一起使用。
df['Q_cum'] = np.cumsum(df.Q)
D Q Q_cum
0 2015 0 0
1 2015 1 1
2 2015 2 3
3 2015 3 6
4 2016 4 10
5 2016 5 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将日期时间索引重新采样为每小时数据.我也希望重新采样到月底.
所以给出以下内容df:
data = np.arange(6).reshape(3,2)
rng = ['Jan-2016', 'Feb-2016', 'Mar-2016']
df = pd.DataFrame(data, index=rng)
df.index = pd.to_datetime(df.index)
0 1
2016-01-01 0 1
2016-02-01 2 3
2016-03-01 4 5
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过以下方式将其重新计算为小时索引:df = df.resample('H').ffill()但是,当我调用df它时,它会被切断2016-03-01.我从根本上让指数从运行1/1/2016到3/31/2016带有每小时粒度.
2015-03-31如果最后一个索引是月初,我该如何将其扩展到月末.
我有一个具有日期列和小时列的数据框.
DATE HOUR
2015-1-1 1
2015-1-1 2
. .
. .
. .
2015-1-1 24
Run Code Online (Sandbox Code Playgroud)
我想将这些列转换为日期时间格式,如:
2015-12-26 01:00:00