【发布时间】:2021-12-24 01:55:42
【问题描述】:
我的每小时数据在数据框 'df 中看起来像这样,而且它的大小很大 (3418896,9)。我需要将 weibull 分布拟合到数据中,但我需要将输出(形状、位置、比例)按“植物名称”、“月”和“年”分组。
plant_name business_name business_code maint_region_name wind_speed_ms mos_time dataset month year
0 MAPLE RIDGE II UNITED STATES USA EAST 10.06 2021-09-22 13:00:00 ERA5 9 2021
1 MAPLE RIDGE II UNITED STATES USA EAST 10.04 2021-09-22 12:00:00 ERA5 9 2021
2 MAPLE RIDGE II UNITED STATES USA EAST 9.84 2021-09-22 11:00:00 ERA5 9 2021
3 MAPLE RIDGE II UNITED STATES USA EAST 10.67 2021-09-22 10:00:00 ERA5 9 2021
4 MAPLE RIDGE II UNITED STATES USA EAST 11.47 2021-09-22 09:00:00 ERA5 9 2021
我需要来自“df”的每个植物名称、月份、年份的形状、比例值。我在下面尝试过这个,但我只得到一个形状和比例的值,我需要一个单独的形状,每个植物名称、月份和年份的比例。这是我的尝试,它只为形状、比例提供了一个数字:
from scipy.stats import weibull_min
shape, loc, scale = weibull_min.fit(ncData.groupby(['plant_name','month','year']).apply(lambda x:x['wind_speed_ms']), floc=0)
shape
Out[21]: 2.2556719467040596
scale
Out[22]: 7.603953856897537
我不知道如何使用 groupby 'plant'name'、'month'、'year' 将输出发送到 'shape' 和 'scale' 参数。非常感谢您抽出宝贵时间帮助我尝试一些事情。
【问题讨论】:
标签: pandas group-by distribution data-fitting