Переместить строки, не равные NULL, для начала с первого столбца в Pandas - PullRequest
0 голосов
/ 15 марта 2020

В Pandas я хотел бы сместить строки в моем фрейме данных, чтобы исключить каждую ячейку со значением меньше 1, чтобы начать каждую строку с ненулевых значений в первом столбце. Например, исходные данные:

Name    first_column    second_column   third_column    ...
first   0   0   1   ...
second  1   3   5   ...
third   0   3   8   ...
fourth  0   0   5   ...

Желаемый результат:

Name    first_column    second_column   third_column
first   1   ... ...
second  1   3   5
third   3   8   ...
fourth  5   ... ...

Есть идеи, какую формулу использовать в Pandas?

Спасибо

1 Ответ

2 голосов
/ 15 марта 2020

IIU C

df=df.mask(df.eq(0)).T.apply(lambda x : sorted(x,key=pd.isnull)).T
     Name first_column second_column third_column
0   first            1           NaN          NaN
1  second            1             3            5
2   third            3             8          NaN
3  fourth            5           NaN          NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...