То, что я пытаюсь сделать, это сделать простое утверждение, которое говорит, что если столбец не равен = 'nan', то создать новый столбец в кадре данных и установить это значение для каждой строки.
ID1 ID2
Apple nan
Orange nan
nan Pear
nan Grape
В идеале это бы выглядело так:
ID1 ID2 MasterID
Apple nan Apple
Orange nan Orange
nan Pear Pear
nan Grape Grape
Я пытался использовать следующее:
df['MasterID'] = ''
df.loc[df['ID1'] != 'nan','MasterID'] = df['ID1']
df.loc[df['ID2'] != 'nan','MasterID'] = df['ID2']
Но то, что он делает, это просто устанавливает приоритет последнего оператора, чтобы отменить то, что создает вторая строка. То же самое, когда я использую оператор numpy where:
df['MasterID'] = np.where(df['ID1'] != 'nan',
df['ID1'],
df['ID2'])
Хотел бы также использовать кое-что, где я мог бы сделать это в будущем с 3+ столбцами. Цените любые указания.