【发布时间】:2019-08-01 15:41:15
【问题描述】:
我有一个带有日期时间索引的数据框。我正在尝试添加一个新列,该列将包含该行的日期时间索引值并减去 1 个工作日。
我在工作日库中使用了一个函数,它只接受一个整数datetime,然后从起始datetime 中减去那么多工作日。
我遇到的问题是,当我尝试将该函数应用于data.index.values 时,它是索引值的array。
如何仅访问当前行的日期?我是否必须执行 apply 或 lamda 才能遍历每一行?
CLES12Z RBE ... CLEDelta PeriodDiff
Timestamp ...
2019-07-31 10:20:00+00:00 3.22 1.8574 ... 0.03 -0.01
2019-07-31 10:21:00+00:00 3.22 1.8574 ... 0.00 0.00
2019-07-31 10:22:00+00:00 3.23 1.8593 ... 0.06 -0.05
2019-07-31 10:23:00+00:00 3.24 1.8580 ... 0.04 -0.03
2019-07-31 10:24:00+00:00 3.24 1.8559 ... -0.07 0.01
这是我尝试过的:
import workdays
data = pd.read_csv(filename, index_col='Timestamp', parse_dates=True, infer_datetime_format=True)
data['running_day'] = workdays.workday(data.index.values, -1)
【问题讨论】:
标签: python pandas dataframe datetime