【发布时间】:2020-03-14 19:12:00
【问题描述】:
我有一个时间序列数据框,想找出每条记录中的日期与该数据框中的最后一个(最大)日期之间的差异。但出现错误 - TypeError:不支持的操作数类型 -:'DatetimeIndex' 和 'SeriesGroupBy'。从错误看来,数据框不是允许这些操作允许的“正确”类型。我怎样才能避免这种情况或可能将数据转换为其他格式才能进行操作。下面是重现错误的示例代码
import pandas as pd
df = pd.DataFrame([[54.7,36.3,'2010-07-20'],[54.7,36.3,'2010-07-21'],[52.3,38.7,'2010-07-26'],[52.3,38.7,'2010-07-30']],
columns=['col1','col2','date'])
df.date = pd.to_datetime(df.date)
df.index = df.date
df = df.resample('D')
print(type(df))
diff = (df.date.max() - df.date).values
【问题讨论】:
-
预期输出是什么?为什么在这里
resample? -
数据框中每条记录的日期和最大日期之间的差异列表。例如,从我给出的示例中,如果我打印 diff[0] -> 输出应该是 10。
标签: python-3.x pandas dataframe time-series