所以我试图理解pandas groupby函数并减少我拥有的大数据帧。这是一个例子:
A B
2016-09-23 19:36:08+00:00 NaN 34.0
2016-09-23 19:36:11+00:00 NaN 33.0
2016-09-23 19:36:12+00:00 24.1 NaN
2016-09-23 19:36:14+00:00 NaN 34.0
2016-09-23 19:36:17+00:00 NaN 34.0
2016-09-23 19:36:20+00:00 NaN 34.0
2016-09-23 19:36:22+00:00 24.2 NaN
2016-09-23 19:36:23+00:00 NaN 34.0
2016-09-23 19:36:26+00:00 NaN 34.0
2016-09-23 19:36:29+00:00 NaN 34.0
2016-09-23 19:36:32+00:00 24.1 NaN
2016-09-23 19:36:33+00:00 NaN 34.0
2016-09-23 19:37:00+00:00 NaN 34.0
2016-09-23 19:37:02+00:00 24.1 NaN
所以我有2个数据系列“A”和“B”,它们以不同的速率采样,其采样时间作为原始数据帧的索引。
我现在想按日期/小时/分钟对数据帧的行进行分组,并返回每分钟数据的平均值。这里的平均值应该忽略数据框中的缺失值。
例如,我会返回这样的内容:
A B
2016-09-23 19:36:00+00:00 24 34.0
2016-09-23 19:37:00+00:00 24.1 33.0
是否可以使用内置的pandas功能执行此操作?
答案 0 :(得分:2)
我认为您需要使用resample
Resampler.mean
来计算组的平均值,不包括缺失值:
<?php
$Color = "#000000";
$Test = "#555000";
$css = '#header {
background-color: '.$Test.';
width: 500px;
height: 500px;
}
a {
color: '.$Color.';
}';
$myfile = fopen("generated_style.css", "w") or die("Unable to open file!"); // Open file
fwrite($myfile, $css); // Write CSS
fclose($myfile); // Close file
?>
print (df.resample('1Min').mean())
A B
2016-09-23 19:36:00 24.133333 33.888889
2016-09-23 19:37:00 24.100000 34.000000
的另一种解决方案:
groupby