我有一个 Dataframe :
year doy
2000 49
2000 65
2000 81
2001 97
2001 113
2001 129
2001 145
2001 161
我想为这个 Dataframe 创建一个日期时间索引。下面是我正在做的事情:
df.index = pandas.DatetimeIndex(df['doy'].apply(lambda x: date(2000, 1, 1)+ relativedelta(days=int(x)-1)))
然而,这创建了一个只使用2000年作为年份的日期时间索引。我该如何解决这个问题?
5条答案
按热度按时间cu6pst1q1#
您可以使用日期说明符
%j
来提取一年中的某一天,因此将这两列合并,移动年份,并转换为datetime!退货
t5fffqht2#
您可以使用NumPy datetime64/timedelta64 arithmetic查找所需的日期:
由于在给定日期的不同部分(例如年、月、日、周、小时等)的情况下组合日期是一个常见的问题,因此这里有一个实用函数可以简化这个问题:
收益率
i34xakig3#
在
pd.to_datetime()
中,您可以将格式和起始日期指定为:这个方法为你做了所有的艰苦工作。
d5vmydt94#
带
read_csv()
myzjeezk5#
问:如何将一年中的某一天转换为日期时间?
A:给定数组year和doy: