繁体   English   中英

熊猫date_range不返回任何值

[英]Pandas date_range returns no values

我目前遇到有关熊猫date_range的问题。 我有2个datetime64 [ns]类型的日期。 开始日期和结束日期。 我试图创建一个数据框,其中包含这两个日期之间的date_range的值作为索引。 但是,即使假定它包含值,创建的数据框也是空的。

请注意,当我复制粘贴该代码并在网站的英语版本中使用它时,它可以正常工作。 我正与希腊人一起面对挑战。

我写的代码是:

customdatedf = pd.DataFrame(index = pd.date_range(start, end, freq='D'))

开始日期和结束日期是从另一个数据框中定义的,如下所示:

start = df['Date'].iloc[0]
end = df['Date'].iloc[-1]

并正确返回它们的值,如出现在

print(start, end)

(时间戳('2019-07-06 00:00:00'),时间戳('2019-06-26 00:00:00'))

这是打印

预期结果是一个数据帧,该数据帧具有开始日期和结束日期之间的日期作为索引

显然您在startend变量中犯了一个错误。 由于开始结束变量之后,因此要解决此问题,请将它们转过来:

start = pd.Timestamp('2019-07-06 00:00:00') 
end = pd.Timestamp('2019-06-26 00:00:00')

pd.DataFrame({'Col_dummy':['Dummy']}, index=pd.date_range(end, start, freq='D'))

           Col_dummy
2019-06-26     Dummy
2019-06-27     Dummy
2019-06-28     Dummy
2019-06-29     Dummy
2019-06-30     Dummy
2019-07-01     Dummy
2019-07-02     Dummy
2019-07-03     Dummy
2019-07-04     Dummy
2019-07-05     Dummy
2019-07-06     Dummy

或者,如果您只想要index

pd.DataFrame(index=pd.date_range(end, start, freq='D'))

Empty DataFrame
Columns: []
Index: [2019-06-26 00:00:00, 2019-06-27 00:00:00, 2019-06-28 00:00:00, 2019-06-29 00:00:00, 2019-06-30 00:00:00, 2019-07-01 00:00:00, 2019-07-02 00:00:00, 2019-07-03 00:00:00, 2019-07-04 00:00:00, 2019-07-05 00:00:00, 2019-07-06 00:00:00]

也许您可以将index更改为data

customdatedf = pd.DataFrame(data = pd.date_range(start, end, freq='D'))

请注意,列名将采用默认值0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM