2017-02-27 102 views
2

我奮力理解爲什麼星期被解釋週五的每週4天熊貓:dt.dayofweek顯示不正確的值

一些簡單的數據:

import pandas as pd 

# Simple time series data: 
series = pd.Series({"2017-02-20": 1, '2017-02-21':2, '2017-02-22':3, '2017-02-23': 4, '2017-02-24':5}) 
datetime = pd.to_datetime(series.index) 

# turn series in to dataframe: 
df = pd.DataFrame(series.values, index=datetime) 

現在,如果我們調用argmax(),問是什麼工作周我們得到:

df[0].argmax().dayofweek 

# 4 

所以它是說,星期五是一週,這是任何標準顯然是錯誤的第4天。

我做錯了什麼?我在這個問題上花費了太多時間!

我可以大膽地猜測,這個功能不能正常執行,但它有點違背了對象對我來說,如果它不能計算一週的某一天爲任意日期時間指數

回答

2

在文檔中所詳述爲DateTimeIndex.dayofweek

一週的週一= 0,星期日= 6

所以,是的,週五將被標記爲4,如果你不喜歡的數字來這個特殊的映射一週中的幾天,你c應該總是將這個映射映射到你喜歡的任何地方,例如如果你想星期日>週六1-> 7,

>>> custom_map = dict(zip(range(7), [2, 3, 4, 5, 6, 7, 1])) 

>>> custom_map 
{0: 2, 1: 3, 2: 4, 3: 5, 4: 6, 5: 7, 6: 1} 

雖然我實在不明白這樣做的價值。