簡體   English   中英

Day in Pandas(Python)的第一個和最后一個值

[英]first and last value of a Day in Pandas (Python)

我的數據很長一段時間(3個月),每15秒記錄一次。

第一個時間戳看起來像這樣:2017-04-01 00:00:00 lastTimestamp看起來像這樣:2017-04-01 23:59:45

現在,我正在尋找一種獲取“ Temp”列的第一個和最后一個值的方法。 最好在兩個新列中包含這兩個值。

我認為你需要resample通過days用骨料agg firstlast

N = 100000
rng = pd.date_range('2011-01-01', periods=N, freq='15S')
df = pd.DataFrame({'Timestamp': rng, 'Temp': range(N)})  
#print (df)

df = df.resample('D', on='Timestamp')['Temp'].agg(['first','last'])
print (df)
            first   last
Timestamp               
2011-01-01      0   5759
2011-01-02   5760  11519
2011-01-03  11520  17279
2011-01-04  17280  23039
2011-01-05  23040  28799
2011-01-06  28800  34559
2011-01-07  34560  40319
2011-01-08  40320  46079
2011-01-09  46080  51839
2011-01-10  51840  57599
2011-01-11  57600  63359
2011-01-12  63360  69119
2011-01-13  69120  74879
2011-01-14  74880  80639
2011-01-15  80640  86399
2011-01-16  86400  92159
2011-01-17  92160  97919
2011-01-18  97920  99999

如果df DatetimeIndex省略參數on

N = 100000
rng = pd.date_range('2011-01-01', periods=N, freq='15S')
df = pd.DataFrame({'Temp': range(N)}, index=rng)  
#print (df)

df = df.resample('D')['Temp'].agg(['first','last'])
print (df)
            first   last
2011-01-01      0   5759
2011-01-02   5760  11519
2011-01-03  11520  17279
2011-01-04  17280  23039
2011-01-05  23040  28799
2011-01-06  28800  34559
2011-01-07  34560  40319
2011-01-08  40320  46079
2011-01-09  46080  51839
2011-01-10  51840  57599
2011-01-11  57600  63359
2011-01-12  63360  69119
2011-01-13  69120  74879
2011-01-14  74880  80639
2011-01-15  80640  86399
2011-01-16  86400  92159
2011-01-17  92160  97919
2011-01-18  97920  99999

暫無
暫無

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

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