#python #pandas
Вопрос:
Я новичок в использовании панд и не нашел решения этой конкретной проблемы во время поиска здесь. По какой-то причине после удаления некоторых строк форма моего фрейма данных меняется, но при изучении фрейма данных он по-прежнему показывает мне строки, которые, как я думал, я удалил.
Я в замешательстве, и из-за этого позже в моем коде возникает много проблем.
Вот в чем проблема:
data_removed_more_cols = new_data.drop(columns=["overview", "tagline", "video", "original_title", "id"])
data_released = data_removed_more_cols["Released" == data_removed_more_cols["status"]].drop(columns=["status"])
print("Shape: " str(data_released.shape[0]))
print(data_released)
И результат, который я получаю, таков:
Shape: 363016
adult ... streaming_platform_US
0 False ... Criterion Channel
1 False ... Criterion Channel
2 False ... NaN
3 False ... NaN
4 False ... DocAlliance Films|GuideDoc|realeyz
... ... ... ...
364057 False ... NaN
364058 False ... NaN
364059 False ... NaN
364061 False ... Amazon Prime Video
364062 False ... NaN
[363016 rows x 21 columns]
Обратите внимание, как print(data_released) покажет мне 364062 строки, в то же время сообщая мне, что форма DF составляет 363016 строк.
РЕДАКТИРОВАТЬ: Как упоминал Генри в комментариях, мне нужно было использовать data_released.reset_index(drop=True). Это решило мою проблему.
Комментарии:
1.В выводе на печать отображается как напечатанное
Shape: 363016
, так и количество строк ([363016 rows x 21 columns]
)363016
. Если вы говорите об индексе фрейма данных. Это останется неизменным при фильтрации строк. Если вы хотите сбросить индекс, используйтеdata_released.reset_index(drop=True)
reset_index2. @HenryEcker Да, но если вы посмотрите на данные в середине вывода, они покажут вам строки с 364057 по 364062, и они не должны существовать. ПРАВКА: Да, спасибо! Мне нужно было сбросить индекс, я этого не знал.