Заменить значения NaN и сдвинуть цифры c в позиции NaN - PullRequest
0 голосов
/ 21 апреля 2020

У меня странный кадр данных, как показано на рисунке ниже. Я хочу удалить все записи NaN и сдвинуть записи цифр c влево от кадра данных.

Каждая строка имеет 1000 записей, но 30 из них имеют цифры c, а остальные - NaN.

Трудность, с которой я сталкиваюсь, заключается в отсутствии синхронизации между строками. В первых 6 строках числовые записи c взяты из столбцов 969–999. Для следующих 6 строк числовые записи c сделаны в столбцах 968–998, и эта последовательность продолжается для 56053 количества строк.

1 Ответ

0 голосов
/ 21 апреля 2020

Это соответствует вашему примеру?

df = pd.DataFrame([[1, 3, np.nan], [np.nan, 4, 2]])
dg = pd.concat([row.dropna().reset_index(drop = True).to_frame().T
                for idx, row in df.iterrows()
                ], 
               axis = 0,
               )

или

dh = df.apply(lambda row : row.dropna().reset_index(drop = True), axis = 1) 
...