我们假设,我有一个以下数据帧,我想从该df生成一个Set-Object。
>data
x
Name
A NaN
B 65,2
C NaN
我想创建一个集合,它只包含带有nonNaN(float)值的元素。所以在上面的情况下,它只是“B”。
如果我使用以下代码创建我的Set-Object:
# code
m.index = pyomo.Set(
initialize=data.index.get_level_values(0).unique(),
doc='Index Set')
我得到一组“A”,“B”,“C”。
我想要实现的是:“B”应该是此集合的唯一元素,因为它是唯一具有有效值的元素。
预期结果:
# output
(Pdb) m.index.pprint()
index : Index Set
Dim=0, Dimen=1, Size=1, Domain=None, Ordered=False, Mutable=True, Bounds=None
['B']
答案 0 :(得分:0)
经过一番挖掘和尝试后,我找到了答案:
以下代码给出了预期的结果。
m.index = pyomo.Set(
initialize=data[data.notnull()].index.get_level_values(0).unique(),
doc='Index Set')