Длина фрейма данных не меняется после удаления строк

#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_index

2. @HenryEcker Да, но если вы посмотрите на данные в середине вывода, они покажут вам строки с 364057 по 364062, и они не должны существовать. ПРАВКА: Да, спасибо! Мне нужно было сбросить индекс, я этого не знал.