簡體   English   中英

DataFrame重采樣(熊貓)中無結果

[英]No Results in DataFrame Resample (pandas)

我有一個數據幀(df),如下所示:

      Time          Temp
2017-01-01 00:30:00 11.1
2017-01-01 01:00:00 10.8
2017-01-01 01:30:00 10.8
2017-01-01 02:00:00 10.8
2017-01-01 02:30:00 11.1
.....             ....

我試圖獲取Temp數據的每小時平均值,我曾經用以下代碼(時間是索引)來做到這一點:

df2 = df.resample('H').agg(['mean','std'])

但是現在我收到以下錯誤:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-b43bf44dcae3> in <module>()
----> 1 df9 = dfroof4.resample('H').agg(['mean','std'])

D:\Anaconda3\lib\site-packages\pandas\core\resample.py in aggregate(self, arg, *args, **kwargs)
    314 
    315         self._set_binner()
--> 316         result, how = self._aggregate(arg, *args, **kwargs)
    317         if result is None:
    318             result = self._groupby_and_aggregate(arg,

D:\Anaconda3\lib\site-packages\pandas\core\base.py in _aggregate(self, arg, *args, **kwargs)
    632             return self._aggregate_multiple_funcs(arg,
    633                                                   _level=_level,
--> 634                                                   _axis=_axis), None
    635         else:
    636             result = None

D:\Anaconda3\lib\site-packages\pandas\core\base.py in _aggregate_multiple_funcs(self, arg, _level, _axis)
    689         # if we are empty
    690         if not len(results):
--> 691             raise ValueError("no results")
    692 
    693         try:

ValueError: no results

有任何想法嗎?

編輯

輸出

print(df.dtypes)

是:

Temp    object
dtype: object

謝謝!

你需要轉換為float首先astype

df['Temp'] = df['Temp'].astype(float)
df2 = df.resample('H')['Temp'].agg(['mean','std'])

如果某些不良數據(例如string s)使用to_numeric替換為NaN

df['Temp'] = pd.to_numeric(df['Temp'], errors='coerce')
df2 = df.resample('H')['Temp'].agg(['mean','std'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM