【问题标题】:floris.tools.power_rose.load() requires class instantiationfloris.tools.power_rose.load() 需要类实例化
【发布时间】:2020-03-08 11:22:42
【问题描述】:

我正在编写一个脚本来从我之前使用floris.tools.power_rose.PowerRose.save() 腌制的文件中加载 PowerRose 对象。脚本如下所示:

# General modules
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# FLORIS-specific modules
import floris.tools as wfct
import floris.tools.power_rose as pr

power_rose = pr.PowerRose(name, df_power, df_turbine_power_no_wake, df_turbine_power_baseline)
power_rose.load(filename = "PowerRose_All.p")

但是,从最后两行可以清楚地看出,我必须实例化 PowerRose 类才能从腌制的 PowerRose 加载 PowerRose 实例,这在我看来是一个因果关系问题。我能想到的唯一解决方案是创建一个与“PowerRose_All.p”大小相同的 DataFrame,其中填充零以用于实例化。

【问题讨论】:

  • load 不是类方法,您需要在 instance 上调用它。
  • 我是否认为我需要创建 PowerRose 类的空白实例,然后在该类上使用 load 方法?
  • 我不知道你说的“空白实例”是什么意思,但是如果你想使用实例方法,你肯定需要创建一个实例。
  • 好吧,你说得对。我的问题是,我可以看到创建实例的唯一方法是使用 DataFrames 填充它,它可以在代码中定义或希望从腌制的 PowerRose 对象加载,这是我正在尝试做的。

标签: floris


【解决方案1】:

是的,您需要先实例化一个power_rose 对象,然后才能使用load 方法。但是,您不需要提供 DataFrames 来执行此操作。这可以通过以下方式完成:

import floris.tools.power_rose as pr

power_rose = pr.PowerRose()
power_rose.load(filename="PowerRose_All.p")

【讨论】:

    猜你喜欢
    • 2013-08-15
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 2018-07-12
    • 1970-01-01
    • 2011-10-26
    相关资源
    最近更新 更多