List comprehension might come handy in such case, check out:
df = pd.DataFrame()
df[0] = ["some", "dummy", "data", "filling", "up"]
df[1] = ["0","foo","2","3","bar"]
df[2] = [9,8,7,6,5]
df[3] = [item[1][1] if item[1][1].isnumeric() else item[1][2] for item in df.iterrows() ]
Assign new row with item from row 1 if it is numeric, else use item from row 2.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…