Вы должны отредактировать свой вопрос так, чтобы он стал понятен всем, например, какой формат вы использовали, что вы пытались получить, и т. Д.
На самом деле, это интересная проблема.Я предполагаю, что у вас есть данные выше в формате dataframe панд.Также важно добавить больше тегов, связанных с вашим вопросом.
Во всяком случае, я не мог найти более эффективный способ, чем приведенный ниже код.Надеюсь, это поможет вам:
nul_index = []
for i in df:
nul_index.append(df[df[i].isnull()].index.tolist())
Это даст вам список индексов строк с нулевыми значениями по столбцам.В вашем случае выше: [[],[1],[0,1],[1],[2],[]]
Из этого списка мы хотим, чтобы что-то вроде [['C'],['B','C','D'],['E']]
присвоило его нашему новому столбцу.
new_col = []
for i in range(len(df)):
new_col.append([df.columns[x] for x in range(len(nul_index)) if i in nul_index[x]])
df['null_column'] = new_col