下采样Pandas数据框,但保留某些列中的数据

时间:2019-06-10 23:21:41

标签: python pandas resampling

我有一个DataFrame,其中有四列由带有4列的时间戳索引。

我需要做的是将其重新采样到例如20分钟的平均值,但在此过程中再添加三列,这些列将保留原始DataFrame中的所有采样值。这将来自一个数据帧

                     'value1'    'value2'    'value3'

timestamp_1            value      value       value 
timestamp_2            value      value       value 
timestamp_3            value      value       value 
timestamp_4            value      value       value 
                       '''
[12656215 rows x 4 columns]

不仅仅是制作一个新的数据框

                     'value1'    'value2'    'value3'

mean_timestamp_1    mean_value   mean_value  mean_value 
mean_timestamp_2    mean_value   mean_value  mean_value 
mean_timestamp_3    mean_value   mean_value  mean_value 
mean_timestamp_4    mean_value   mean_value  mean_value 
                       '''
[72 rows x 4 columns]

生成的

df.resample('20min', loffset = '10min').mean()

但是创建一个DataFrame,其中还包含新数据框中以前的DataFrame中的值,例如

                     'value1'    'value2'    'value3'                  'old_values1'                                 'old_values2'                                   'old_values3'

mean_timestamp_1    mean_value   mean_value  mean_value [old_value_11, old_value_12, old_value_13 ...] [old_value_21, old_value_22, old_value_23 ...] [old_value_31, old_value_32, old_value_33 ...]
mean_timestamp_2    mean_value   mean_value  mean_value [old_value_11, old_value_12, old_value_13 ...] [old_value_21, old_value_22, old_value_23 ...] [old_value_31, old_value_32, old_value_33 ...]
mean_timestamp_3    mean_value   mean_value  mean_value [old_value_11, old_value_12, old_value_13 ...] [old_value_21, old_value_22, old_value_23 ...] [old_value_31, old_value_32, old_value_33 ...]
mean_timestamp_4    mean_value   mean_value  mean_value [old_value_11, old_value_12, old_value_13 ...] [old_value_21, old_value_22, old_value_23 ...] [old_value_31, old_value_32, old_value_33 ...]

因此将前一个DataFrame中的一个值数组附加到重采样均值之上的新值中。

这可以仅使用内置命令来完成,因为我使用了非常大的数据集,效率非常重要吗?

0 个答案:

没有答案