2015-08-05 3 views
0

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

Ниже мои данные,

x.id x.timestamp x.count 
71 1 1435114605  61 
72 1 1435114606  61 
73 1 1435114659  61 
74 1 1435114719  62 
75 1 1435114726  62 
76 1 1435114780  62 
77 1 1435155998  62 
78 1 1435156059  62 
79 1 1435156076  62 
80 1 1435156119  62 

Здесь я хочу, чтобы удалить строки на основе значения x.x.count.

Мой выход должен быть,

x.id x.timestamp x.count 
71 1 1435114605  61 
74 1 1435114719  62 

Я не могу использовать drop_duplicates функцию, поскольку значения будут reoccuring позже в колонке. Я хочу проверить предыдущее значение и удалить его.

Может ли кто-нибудь помочь мне в этом?

Благодаря

+0

Просто быть понятно, вы хотите удалить строки, только если они соответствуют предыдущая строка в любом столбце, если они не соответствуют строке _any_ по заданному значению? –

+0

@CodyBraun только на конкретном столбце, здесь на основе столбца x.count –

+1

http://stackoverflow.com/questions/19718531/selecting-unique-observations-in-a-pandas-data-frame duplicated - это то, ищу. Я уверен, что здесь еще один джентльмен будет иметь ваш ответ, который будет создан здесь – FirebladeDan

ответ

1

Если вы не хотите, чтобы просто бросить простофили:

import pandas as pd 

df = df.groupby((df["x.count"] != df["x.count"].shift()).cumsum().values).first() 

Или:

df = df.loc[df["x.count"].shift() != df["x.count"]] 
+1

Спасибо! Это сработало –

Смежные вопросы