human
I am working on the file "Devel/Old/v04-old/Milestones/Frame2D-v04-Milestone4.ipynb".
The first task is:
Supports
Can you write Python program for it?

Give me a the Python program you requested?
assistant
#Here is the Python program you requested.

%%Table supports
NODEID,C0,C1,C2
A,FX,FY,MZ
D,FX,FY

def isnan(x):
    if x is None:
        return True
    try:
        return np.isnan(x)
    except TypeError:
        return False

@extend
class Frame2D:
    
    COLUMNS_supports = ('NODEID','C0','C1','C2')
    
    def install_supports(self):
        table = self.get_table('supports')
        for ix,row in table.data.iterrows():
            node = self.get_node(row.NODEID)
            for c in [row.C0,row.C1,row.C2]:
                if not isnan(c):
                    node.add_constraint(c)
        self.rawdata.supports = table

##test:
f.install_supports()

##test:
vars(f.get_node('D'))