簡體   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