我有多个netCDF4数据集,其中包含全年的每月天气数据。在xarray中使用groupby方法提取每月数据后,我无法从该分组结果中获取诸如均值,std之类的统计信息。在执行基本算术运算时会出错。
我通过以下方式对每月数据进行了分组:
$llid = htmlspecialchars($_SESSION["id"]);
$sql = "SELECT name, address, pic1 from properties
INNER JOIN
(select SUM(revenue) as revenue, count(id) from transactions)
where properties.ll_id = " .$llid. "";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
?>
<tr>
<td><?php echo $row["name"];?></td>
<td><?php echo $row["address"];?></td>
<td> <img src="p3/img/<?php echo $row["pic1"];?>" width="80"> </td>
<td><?php echo $row["id"];?></td>
<td>$<?php echo $row["revenue"];?></td>
<td> <span>VIEW</span> </td>
</tr>
<?php
}
} else {
echo "No Updates";
}
$conn->close();
?>
此后,当我要获取温度值时,它显示错误:
monthTime = ds.groupby('time.month')
monthTime['temp']
在计算monthTime变量的平均值时,我得到以下结果:
TypeError: 'DatasetGroupBy' object is not subscriptable
monthTime.mean()
如何计算平均值和标准偏差。请告诉我我哪里错了。
答案 0 :(得分:0)
Group-by
用作Split-Apply-Combine
。您可以在熊猫doc上阅读更多有关它的详细示例。
当您按月对数据进行分组时,索引将无法工作,因为您必须首先应用一些函数(例如均值等)并将其重新组合为数据结构。但是,如果要查看分组的对象,可以将其转换为列表
list(monthTime)
在您的情况下,您将获得变量temp
的均值。 Monthtime不是您的数据结构的变量。我认为,为了进行分析,您需要变量temp
的均值或标准差。因此,方法是:
ds.temp.groupby('time.month').mean()
# similarly you can apply any other functions