[英]Get average data based on date, week, month
我有一個數據集,其中包括工廠工人三年的產出數據。 現在我想根據日期、周、月獲得平均輸出。 問題是日期格式就像 %d.%m.%Y (day-month-year)。 我的問題是如何在獲得預期輸出的同時保持日期格式不變。
我的數據集是這樣的(每天有很多值。)
date output
1.1.2017 261
2.1.2017 152 (Jan.02,2017)
17.1.2017 256
17.1.2017 261
18.1.2017 193
18.1.2017 462
1.2.2017 212 (Feb.1,2017)
3.2.2017 266 (Feb.3,2017)
....
1.3.2018 360
我得到的錯誤消息是這樣的:時間數據“2017-01-01”與格式“%d.%m.%Y”(匹配)不匹配。 僅供參考,當我讀取數據集時,我的代碼是這樣的
df['date'] = pd.to_datetime(df['date'],format='%d.%m.%Y').dt.date
df.groupby(['date'],as_index=False).mean()
我嘗試通過谷歌搜索不同的解決方案來解決它。 但我無法得到預期的結果。 輸出在日期和月份之間完全混淆。例如,1.2.2017(2017 年 1 月 2 日)被視為(2017 年 2 月 1 日)。我該如何解決? 謝謝!
您的代碼看起來不錯,實際上至少對於前四個數據記錄運行良好。 這里的問題是日期格式與您報告的錯誤不一致。 就像其他人指出的那樣,讓熊貓為您找出格式可以解決問題,即df["date"]=pd.to_datetime(df["date"])
。 但我只是覺得這有點棘手或危險。 我想建議您在對它們進行任何分析之前使用 Python 中的字符串操作統一日期格式。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.