У меня есть данные о квартальных рыночных ценах большого количества американских фирм. Некоторые фирмы были либо исключены из листинга, либо приобретены другими компаниями. Datastream автоматически повторяет последнее доступное значение после этой даты. Мне нужно изменить все эти повторяющиеся значения на пустые ячейки до последнего наблюдения за моим набором данных. Любая подсказка о том, как я могу добиться этого на питоне?
Спасибо
Попробуйте то, что у меня есть, и дайте мне знать, если это то, что вы ищете. Если это не так, было бы лучше, если бы вы могли сначала опубликовать любые ошибки, которые вы получаете, или сказать, что вы хотели бы работать по-другому.
Да, это то, что я ищу. В идеале я хотел бы удалять повторяющиеся значения только тогда, когда одно и то же значение повторяется более n раз подряд. Поскольку я хочу удалить данные после того, как фирма была исключена из листинга или приобретена, но я не хочу терять данные в периоды, когда фирмы все еще были активны.
df[col].duplicated().sum() даст вам общее количество дубликатов в столбце. df[col].duplicated().rolling(n).sum() даст вам скользящую сумму по n записям, чтобы вы могли увидеть, есть ли в столбце какая-либо точка, где сумма была равна n, и удалить оттуда . Вы можете столкнуться с неудачными случаями, когда это не удастся, но я думаю, что это будет редко. Не уверен, что есть более элегантное решение. Мне будет интересно посмотреть, ответит ли кто-нибудь еще