簡體   English   中英

熊貓重新采樣數據框

[英]Pandas resample dataframe

我有一個重采樣(下采樣)問題,應該很容易做到,但是我做不到! 這是一個簡化的示例:

df:  
       Time         A
0   0.01591  0.108929
1   0.27973  0.411764
2   0.55044  0.064253
3   0.81386  0.317394
4   1.07983  0.722707
5   1.35051  1.154193
6   1.61495  1.151492
7   1.88035  0.123389
8   2.15462  0.093583
9   2.41534  0.260944
10  2.67992  1.007564
11  2.95148  0.325353
12  3.21364  0.555593
13  3.47980  0.740621
15  4.01519  1.619669
16  4.28679  0.477371
17  4.55482  0.432049
18  4.81570  0.194224
19  5.07992  0.331936

時間列以秒為單位。 我想使“時間”列成為索引,並將數據幀降采樣為1s。 請幫助?

您可以使用reindex並選擇一種填充方法

In [37]: df.set_index('Time').reindex(range(0,6), method='bfill')
Out[37]: 
          A
0  0.108929
1  0.722707
2  0.093583
3  0.555593
4  1.619669
5  0.331936

首先將索引轉換為日期時間格式:

df.index=pd.to_datetime(df.Time,unit='s')

然后每秒進行resample (默認情況下為平均值,但可以將其更改為sum等-例如將how='sum'添加為參數):

d.resample('S')

                         Time         A
Time                                   
1970-01-01 00:00:00  0.414985  0.225585
1970-01-01 00:00:01  1.481410  0.787945
1970-01-01 00:00:02  2.550340  0.421861
1970-01-01 00:00:03  3.346720  0.648107
1970-01-01 00:00:04  4.418125  0.680828
1970-01-01 00:00:05  5.079920  0.331936

如果重要,可以更改年份/日期。

暫無
暫無

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

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