Я пытаюсь удалить выбросы из набора данных. Для того, чтобы сделать это, я использую:Как удалить строки из фрейма данных?
df = df[df.attr < df.attr.mean() + df.attr.std()*3]
Это, кажется, работает, как ожидалось, но, когда я делаю что-то вроде:
for i in xrange(df.shape[0]):
print df.attr[i]
Тогда я получаю KeyError
. Кажется, что Pandas фактически не возвращает новый DataFrame
с опущенными рядами. Как я могу удалить эти строки и получить полностью функциональный DataFrame
?
Я искушен, чтобы принять ваш ответ, так как это на самом деле лучшее решение по моему делу, но кто-то погуглить эти ключевые слова, возможно, на самом деле нужно отбросить строки (по разным причинам), поэтому я соглашусь с другим. – MaiaVictor
Я немного удивлен, я думаю, что ['boolean indexing'] (http://pandas.pydata.org/pandas-docs/stable/indexing.html#boolean-indexing) лучше, чем падение, но это зависит от вы. удачи :) – jezrael