亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

pandas Sqlite 和重新采樣錯誤僅對 DatetimeIndex 有效

pandas Sqlite 和重新采樣錯誤僅對 DatetimeIndex 有效

搖曳的薔薇 2023-10-26 10:16:23
我正在嘗試使用 pandas 和 sqlite 將數據讀入數據幀。我認為如果我從 CSV 文件中讀取數據,這段重新采樣為每小時平均值的代碼是有效的,但我不確定為什么是從 Sqlite 讀???抱歉,我對數據庫知之甚少,非常感謝任何提示。如果我運行下面的代碼,我可以打印第一個 df 但重新采樣錯誤:import pandas as pdfrom sqlalchemy import create_engineimport sqlite3con = sqlite3.connect('./save_data.db')df = pd.read_sql("SELECT * from all_data", con, index_col='Date', parse_dates=True)df.set_index('Date')print(df)hourly_avg['kW'] = df['kW'].resample('H').mean()print('hourly_avg.kW', hourly_avg.kW)輸出:>>> === RESTART: C:\Users\Desktop\tester\Test.py ===                            Date         kW0     2020-10-08 12:23:30.968967  68.1299971     2020-10-08 12:25:39.375298  68.1299972     2020-10-08 12:26:52.939991  68.1299973     2020-10-08 12:27:57.839540  68.1299974     2020-10-08 12:29:02.382524  68.129997...                          ...        ...1917  2020-10-09 10:14:35.113254  68.1499941918  2020-10-09 10:15:08.840759  68.1899951919  2020-10-09 10:15:41.873328  68.2499921920  2020-10-09 10:16:14.953312  68.2899931921  2020-10-09 10:16:48.043465  68.289993[1922 rows x 2 columns]Traceback (most recent call last):  File "C:\Users\Desktop\tester\Test.py", line 11, in <module>    hourly_avg['kW'] = df['kW'].resample('H').mean()  File "C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\generic.py", line 8087, in resample    offset=offset,  File "C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\resample.py", line 1269, in get_resampler    return tg._get_resampler(obj, kind=kind)  File "C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\resample.py", line 1435, in _get_resampler    "Only valid with DatetimeIndex, "TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'>>> 
查看完整描述

1 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

你需要使用 aDatetimeindex但你忘記了inplace=True

嘗試這個:

df.set_index('Date',?inplace=True)

而不是這個:

df.set_index('Date')

這應該可以解決它。


查看完整回答
反對 回復 2023-10-26
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號