Python 在股市数据中添加缺失的日行,以保持数据框中的连续性
所以我有13年左右的股市数据,每天低开高闭。问题在于,市场有时会在这段时间内关闭,因此周一至周五有时可能不会连续出现。往下看 日期 白天 打开 高的 低的 关 调整关闭 0 17-09-2007 星期一 6898 6977.2 6843 6897.1 6897.100098 1. 18-09-2007 星期二 6921.15 7078.95 6883.6 7059.65 7059.649902 2. 19-09-2007 星期三 7111 7419.35 7111 7401.85 7401.850098 3. 20-09-2007 星期四 7404.95 7462.9 7343.6 7390.15 7390.149902 4. 21-09-2007 星期五 7378.3 7506.35 7367.15 7464.5 7464.5 5. 25-09-2007 星期二 7658.5 7694.25 7490.2 7629.15 7629.149902 7. 26-09-2007 星期三 7647.1 7829.85 7591.8 7755.9 7755.899902 8. 28-09-2007 星期五 7838.25 8082.85 7836.05 8042.2 8042.200195 9 01-10-2007 星期一 8008.55 8085.15 7913.3 7987.5 7987.5 10 03-10-2007 星期三 8029.8 8235.8 7820.25 8097.9 8097.899902 11 04-10-2007 星期四 8083.3 8086.7 7828.65 8035.9 8035.899902 12 05-10-2007 星期五 8038.1 8066.55 7789.7 7845.25 7845.25 13 08-10-2007 星期一 7853.15 7935.45 7516.45 7626.4 7626.399902 14 09-10-2007 星期二 7580.9 7916.45 7535.05 7895.85 7895.850098 15 10-10-2007 星期三 7960.65 8081.05 7907.35 8030.65 8030.649902 16 11-10-2007 星期四 8054.3 8177.75 8005.5 8158.8 8158.799805 17 15-10-2007 星期一 7962.55 8306.35 7962.55 8286.3 8286.299805 18 16-10-2007 星期二 8361.4 8491.65 8240.3 8452.2 8452.200195 19 17-10-2007 星期三 8071.55 8218.1 7641.5 8099.9 8099.899902 20 18-10-2007 星期四 8055.15 8192.45 7519.7 7608.75 7608.75 21 19-10-2007 星期五 7637.4 7718.9 7279.3 7423.8 7423.799805 过程: 设置日期的索引 使用“D”对数据帧重新采样 滴水的日子是坐着晒太阳的 用“菲儿”来填充 数据索引应为timeSeries df['Date']=pd.to_datetimedf['Date'],格式='%d-%m-%Y' 上采样 dfn=df.set_索引'Date'。重新采样'D'。asfreq 秘密日期是星期一。。星期日 dfn['Day']=dfn.index.strftime“%A” 在[‘星期六’、‘星期日’]中停留一天 cond=dfn['Day'].isin['Saturday'、'Sunday'] dfn=dfn[~cond].fillnamethod='ffill'.reset\u索引 输出:Python 在股市数据中添加缺失的日行,以保持数据框中的连续性,python,pandas,dataframe,numpy,etl,Python,Pandas,Dataframe,Numpy,Etl,所以我有13年左右的股市数据,每天低开高闭。问题在于,市场有时会在这段时间内关闭,因此周一至周五有时可能不会连续出现。往下看 日期 白天 打开 高的 低的 关 调整关闭 0 17-09-2007 星期一 6898 6977.2 6843 6897.1 6897.100098 1. 18-09-2007 星期二 6921.15 7078.95 6883.6 7059.65 7059.649902 2. 19-09-2007 星期三 7111 7419.35 7111 7401.85 7401.85
Date Day Open High Low Close Adjusted Close
0 2007-09-17 Monday 6898.00 6977.20 6843.00 6897.10 6897.100098
1 2007-09-18 Tuesday 6921.15 7078.95 6883.60 7059.65 7059.649902
2 2007-09-19 Wednesday 7111.00 7419.35 7111.00 7401.85 7401.850098
3 2007-09-20 Thursday 7404.95 7462.90 7343.60 7390.15 7390.149902
4 2007-09-21 Friday 7378.30 7506.35 7367.15 7464.50 7464.500000
5 2007-09-24 Monday 7378.30 7506.35 7367.15 7464.50 7464.500000
6 2007-09-25 Tuesday 7658.50 7694.25 7490.20 7629.15 7629.149902
7 2007-09-26 Wednesday 7647.10 7829.85 7591.80 7755.90 7755.899902
8 2007-09-27 Thursday 7647.10 7829.85 7591.80 7755.90 7755.899902
9 2007-09-28 Friday 7838.25 8082.85 7836.05 8042.20 8042.200195
10 2007-10-01 Monday 8008.55 8085.15 7913.30 7987.50 7987.500000
11 2007-10-02 Tuesday 8008.55 8085.15 7913.30 7987.50 7987.500000
12 2007-10-03 Wednesday 8029.80 8235.80 7820.25 8097.90 8097.899902
13 2007-10-04 Thursday 8083.30 8086.70 7828.65 8035.90 8035.899902
14 2007-10-05 Friday 8038.10 8066.55 7789.70 7845.25 7845.250000
15 2007-10-08 Monday 7853.15 7935.45 7516.45 7626.40 7626.399902
16 2007-10-09 Tuesday 7580.90 7916.45 7535.05 7895.85 7895.850098
17 2007-10-10 Wednesday 7960.65 8081.05 7907.35 8030.65 8030.649902
18 2007-10-11 Thursday 8054.30 8177.75 8005.50 8158.80 8158.799805
19 2007-10-12 Friday 8054.30 8177.75 8005.50 8158.80 8158.799805
20 2007-10-15 Monday 7962.55 8306.35 7962.55 8286.30 8286.299805
21 2007-10-16 Tuesday 8361.40 8491.65 8240.30 8452.20 8452.200195
22 2007-10-17 Wednesday 8071.55 8218.10 7641.50 8099.90 8099.899902
23 2007-10-18 Thursday 8055.15 8192.45 7519.70 7608.75 7608.750000
24 2007-10-19 Friday 7637.40 7718.90 7279.30 7423.80 7423.799805
过程:
设置日期的索引
使用“D”对数据帧重新采样
滴水的日子是坐着晒太阳的
用“菲儿”来填充
数据索引应为timeSeries
df['Date']=pd.to_datetimedf['Date'],格式='%d-%m-%Y'
上采样
dfn=df.set_索引'Date'。重新采样'D'。asfreq
秘密日期是星期一。。星期日
dfn['Day']=dfn.index.strftime“%A”
在[‘星期六’、‘星期日’]中停留一天
cond=dfn['Day'].isin['Saturday'、'Sunday']
dfn=dfn[~cond].fillnamethod='ffill'.reset\u索引
输出:
Date Day Open High Low Close Adjusted Close
0 2007-09-17 Monday 6898.00 6977.20 6843.00 6897.10 6897.100098
1 2007-09-18 Tuesday 6921.15 7078.95 6883.60 7059.65 7059.649902
2 2007-09-19 Wednesday 7111.00 7419.35 7111.00 7401.85 7401.850098
3 2007-09-20 Thursday 7404.95 7462.90 7343.60 7390.15 7390.149902
4 2007-09-21 Friday 7378.30 7506.35 7367.15 7464.50 7464.500000
5 2007-09-24 Monday 7378.30 7506.35 7367.15 7464.50 7464.500000
6 2007-09-25 Tuesday 7658.50 7694.25 7490.20 7629.15 7629.149902
7 2007-09-26 Wednesday 7647.10 7829.85 7591.80 7755.90 7755.899902
8 2007-09-27 Thursday 7647.10 7829.85 7591.80 7755.90 7755.899902
9 2007-09-28 Friday 7838.25 8082.85 7836.05 8042.20 8042.200195
10 2007-10-01 Monday 8008.55 8085.15 7913.30 7987.50 7987.500000
11 2007-10-02 Tuesday 8008.55 8085.15 7913.30 7987.50 7987.500000
12 2007-10-03 Wednesday 8029.80 8235.80 7820.25 8097.90 8097.899902
13 2007-10-04 Thursday 8083.30 8086.70 7828.65 8035.90 8035.899902
14 2007-10-05 Friday 8038.10 8066.55 7789.70 7845.25 7845.250000
15 2007-10-08 Monday 7853.15 7935.45 7516.45 7626.40 7626.399902
16 2007-10-09 Tuesday 7580.90 7916.45 7535.05 7895.85 7895.850098
17 2007-10-10 Wednesday 7960.65 8081.05 7907.35 8030.65 8030.649902
18 2007-10-11 Thursday 8054.30 8177.75 8005.50 8158.80 8158.799805
19 2007-10-12 Friday 8054.30 8177.75 8005.50 8158.80 8158.799805
20 2007-10-15 Monday 7962.55 8306.35 7962.55 8286.30 8286.299805
21 2007-10-16 Tuesday 8361.40 8491.65 8240.30 8452.20 8452.200195
22 2007-10-17 Wednesday 8071.55 8218.10 7641.50 8099.90 8099.899902
23 2007-10-18 Thursday 8055.15 8192.45 7519.70 7608.75 7608.750000
24 2007-10-19 Friday 7637.40 7718.90 7279.30 7423.80 7423.799805
您能否将输入添加为数据帧以复制问题?请不要使用图像,而是使用数据帧的示例。另外,请发布预期输出。在你要求其他人为你做同样的事情之前,先做一点努力……你能将输入作为数据帧来复制问题吗?请不要使用图像,而是使用数据帧的样本。另外,请发布预期输出。在你要求别人为你做同样的事情之前,先努力一下。。。