【发布时间】:2020-12-30 16:23:09
【问题描述】:
我无法找出股票数据的问题。我们有一个dataframe,其中包含高、低和日期数据。我想创建两个新列,最大值来自24_H,最小值来自24_L 整周(从一周的几天开始整周的最小值和最大值,并将其复制到那一周的每一天/每一行)问题是有些天缺少(假期),因此您不能每 5 行使用一个循环。希望有意义,我试图在 excel 中用图片解释它并在两周(38 和 39)手动完成。
编辑: 部分代码。如何打印每周的高低值: df.groupby(['YEAR', 'WEEK']).agg({'24_H': 'max', '24_L': 'min'}) 但仍然不知道如何在一周中的每一天打印出来
EDIT2 部分数据(DoW 是星期几):
| DATE | DoW | 24_H | 24_L | WEEK | MONTH | YEAR |
|---|---|---|---|---|---|---|
| 12.09.2005 | 1 | 1170.0 | 1165.0 | 37 | 9 | 2005 |
| 13.09.2005 | 2 | 1166.0 | 1157.0 | 37 | 9 | 2005 |
| 14.09.2005 | 3 | 1162.0 | 1151.0 | 37 | 9 | 2005 |
| 15.09.2005 | 4 | 1158.0 | 1150.0 | 37 | 9 | 2005 |
| 16.09.2005 | 5 | 1164.0 | 1152.0 | 37 | 9 | 2005 |
| 19.09.2005 | 1 | 1162.0 | 1153.0 | 38 | 9 | 2005 |
| 20.09.2005 | 2 | 1162.0 | 1145.0 | 38 | 9 | 2005 |
| 21.09.2005 | 3 | 1149.0 | 1134.0 | 38 | 9 | 2005 |
| 22.09.2005 | 4 | 1142.0 | 1130.0 | 38 | 9 | 2005 |
| 23.09.2005 | 5 | 1144.0 | 1134.0 | 38 | 9 | 2005 |
| 26.09.2005 | 1 | 1148.0 | 1136.0 | 39 | 9 | 2005 |
| 27.09.2005 | 2 | 1145.0 | 1135.0 | 39 | 9 | 2005 |
| 28.09.2005 | 3 | 1146.0 | 1137.0 | 39 | 9 | 2005 |
| 29.09.2005 | 4 | 1154.0 | 1136.0 | 39 | 9 | 2005 |
| 30.09.2005 | 5 | 1155.0 | 1149.0 | 39 | 9 | 2005 |
excel中的数据:
【问题讨论】:
-
请粘贴数据,不要粘贴图片。谢谢。
-
对于给定的一周,您可以用缺失值做很多事情。您可以忽略它们,将它们替换为该周值的平均值、中位数等
标签: python dataframe loops stock ohlc