Dataframe 从数据帧创建集合对象(使用非NaN值过滤)

Dataframe 从数据帧创建集合对象(使用非NaN值过滤),dataframe,set,nan,pyomo,Dataframe,Set,Nan,Pyomo,让我们假设,我得到了一个如下的数据帧,我想从这个df生成一个Set对象 >data x Name A NaN B 65,2 C NaN 我想创建一个集合,它只包含具有非NaN浮点值的元素。因此,在上述情况下,它将仅为B 如果使用以下代码创建集合对象: # code m.index = pyomo.Set( initialize=data.index.g

让我们假设,我得到了一个如下的数据帧,我想从这个df生成一个Set对象

>data
         x     
Name                              
A        NaN
B        65,2
C        NaN
我想创建一个集合,它只包含具有非NaN浮点值的元素。因此,在上述情况下,它将仅为B

如果使用以下代码创建集合对象:

# code
m.index = pyomo.Set(
    initialize=data.index.get_level_values(0).unique(),
    doc='Index Set')
我有一套a,B,C

我想要实现的是:B应该是这个集合中唯一的元素,因为它是唯一具有有效值的元素

预期成果:


经过一番挖掘和尝试,我找到了答案:

下面的代码给出了预期的结果

m.index = pyomo.Set(
    initialize=data[data.notnull()].index.get_level_values(0).unique(),
    doc='Index Set')
m.index = pyomo.Set(
    initialize=data[data.notnull()].index.get_level_values(0).unique(),
    doc='Index Set')