Удалить первые n-1 нулей из столбца фрейма данных pandas

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

df_in является образцом фрейма данных и df_out ожидаемым результатом.

Как мне удалить первые 5 нулей, чтобы у меня был один ноль и все остальные элементы.

 import pandas as pd

df_in = pd.DataFrame({'a':[0,0,0,0,0,0,1,2]})

df_out=pd.DataFrame({'a':[0,1,2]})
  

Заранее спасибо.

Комментарии:

1. df.drop_duplicates() ??

2. @anky_91 но это также приведет к удалению других повторяющихся значений.

3. @AkshayNevrekar точно, но мы пока не знаем, какие значения следует удалять, а какие нет. Таким образом, вопрос не очень ясен. исходя из ожидаемого результата, это выглядит как очевидный drop_duplicates() случай

Ответ №1:

найдите значение и удалите дубликаты, а затем объедините с другими

 pd.concat([df_in.loc[df_in.a == 0, :].drop_duplicates(), df_in.loc[df_in.a != 0,:]])