2015-04-20 3 views
0

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

Ожидаемый результат прилагается (в формате Excel)

state code should be modified

Государственный столбец имеет 4 значения для "West Bengal". Должен быть показан только первый.

+0

К сожалению вы говорите, что, когда принести это в панд, что у вас есть 4 дублированные строки с «Западной Бенгалой»? Вы пробовали 'df.drop_duplicates ('State')'? – EdChum

+0

Помимо отображения причин, по которым вы хотите заменить пустым, это просто так, что, когда вы экспортируете его обратно в xls, вы получаете нужный дисплей? – EdChum

+0

удаляет дубликаты, удаляя эти строки. Мне нужно сохранить остальные данные и удалить только повторяющиеся ячейки из одного столбца. Это будет использоваться для создания отчетов в указанном формате. – shantanuo

ответ

1

Использование loc и shift, чтобы определить, когда строки изменить значение, мы можем использовать булеву маску, чтобы установить эти строки в пустой:

In [52]: 

df = pd.DataFrame({'state':['West Bengal','West Bengal','West Bengal', 'East','East'] , 'amount':[14,25,36,47,58]}) 
df 
Out[52]: 
    amount  state 
0  14 West Bengal 
1  25 West Bengal 
2  36 West Bengal 
3  47   East 
4  58   East 
In [54]: 

df.loc[df['state'] == df['state'].shift(), 'state'] = '' 
df 
Out[54]: 
    amount  state 
0  14 West Bengal 
1      
2      
3  47   East 
4      
+0

Добавьте столбец количества в dataframe, и ваше решение удалит всю строку, а не только состояние. pd.DataFrame ({'state': ['West Bengal', 'West Bengal', 'West Bengal', 'East', 'East'], 'amount': [14,25,36,47,58] }) – shantanuo

+0

Мне нужно сохранить значения количества в приведенном выше примере, даже если состояние пустое (т.е. продолжение сверху) – shantanuo

+0

Это правильно. Разве нет метода для этого? как ffill или bfill? – shantanuo

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