Python Progrom, чтобы найти нулевые значения в строке и вернуть имя столбца - PullRequest
0 голосов
/ 12 октября 2018

Я хочу создать новый столбец null_columns на основе расположения значений NaN в существующих столбцах A до F.

A   B    C    D    E   F    null columns
0   1   NaN   3    5   4       ['C']
0  NaN  NaN  NaN   6   4   ['B','C','D']
2   3    5    4   NaN  5       ['E'] 

1 Ответ

0 голосов
/ 13 октября 2018

Вы должны отредактировать свой вопрос так, чтобы он стал понятен всем, например, какой формат вы использовали, что вы пытались получить, и т. Д.

На самом деле, это интересная проблема.Я предполагаю, что у вас есть данные выше в формате 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...