2017-08-08 3 views
0

を使用して、各行のためのFREQを作成します。私はこの機能を持っている:データフレームのPython

for row in df: 
    if (row[2]): 
     media_list.append(df['Irradiance_PV1'].groupby([pd.TimeGrouper(freq='10Min')]).agg(["min", "max"]))  

df['Media']=pd.Series(media_list) 

しかし、この機能は、私は10分間隔で計算したい、10分間隔のための最大値と最小値を示しますが、ためにこの例のように各行:

DataTime Irradiance  máx  min 
00:01   500   800  500 
00:02   512   830  512  
00:03   600   900  530   
00:04   670   .  . 
00:05   530   .  . 
00:06   700   .  . 
00:07   760 
00:08   800 
00:09   700 
00:10   730 
00:11   830 
00:12   900 

どうすればいいですか?

答えて

1

これは必要なものですか?

df['min']=df.ix[::-1, 'Irradiance'].rolling(10).min()[::-1] 
df['max']=df.ix[::-1, 'Irradiance'].rolling(10).max()[::-1] 
#take off NaN by adding `min_periods=1` 
#df.ix[::-1, 'Irradiance'].rolling(10,min_periods=1).max()[::-1] 

df 
Out[49]: 
    DataTime Irradiance max min 
0  0:01   500 800.0 500.0 
1  0:02   512 830.0 512.0 
2  0:03   600 900.0 530.0 
3  0:04   670 NaN NaN 
4  0:05   530 NaN NaN 
5  0:06   700 NaN NaN 
6  0:07   760 NaN NaN 
7  0:08   800 NaN NaN 
8  0:09   700 NaN NaN 
9  0:10   730 NaN NaN 
10  0:11   830 NaN NaN 
11  0:12   900 NaN NaN 
+1

はい、これは完璧です!どうもありがとうございました!! – Student

+0

@ S.C。喜んで助けることができる、私の答えを受け入れる方法 – Wen

関連する問題