Pandas создает новый фрейм данных с удалением некоторых записей. Он не переиндексирует фрейм данных. В результате записи с индексом в новом фрейме данных соответствуют записи с таким же индексом в старом фрейме данных. Индексы нового информационного кадра будут соответствовать индексу нового информационного кадра. В вашем примере конечный индекс имеет диапазон от 0 до 397, но он не содержит все значения от 0 до 397. Если исходный индекс был с префиксом vin или чем-то более значимым, вы, вероятно, ожидаете такого поведения.
До дропны
In : df.index
Out: RangeIndex(start=0, stop=398, step=1)
Но после дропны
Out: Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
...
388, 389, 390, 391, 392, 393, 394, 395, 396, 397],
dtype='int64', length=392)
Точную разницу можно получить с помощью вызова .difference
между индексами.
df_before.index.difference(df_after.index)
Int64Index([32, 126, 330, 336, 354, 374], dtype='int64')