Drop frame and non-drop frame both have the same number of frames. No frames are “dropped”. What is “dropped” are some frame numbers.
Think of timecode as frame addresses.
If video ran at 30 frames per second, in an hour 60 * 60 * 30 frames would go by (108,000 frames) and the timecode at the end of that time would be 1 hour, or 01:00:00 or 3,600 complete seconds of 30 frame counting timecode.
However, frames go by at a slightly slower rate (slower by 1 part in 1000, or 1/10th of 1 percent) of 29.97 frames per second. So in an hour of time on the wall clock, only 60 * 60 * 29.97 frames go by, or 107,892 frames. The timecode at that time would be 59:56:12 or 3596.4 complete seconds of 30 frame counting timecode.
This is all well and good, except the clock on the wall says 1 hour, and the clock counting timecode addresses says 59min56secs12frames. If you’re running a TV station, this is confusing.
So in order to make the timecode on the tape deck match the clock on the wall, the difference needs to be fixed, so that at 1 hour the timecode reads 1:00:00 even though the frame rate is 29.97.
The difference between the theoretical 30 and the real 29.97 is 108 frames in an hour. To make up that difference in Drop Frame timecode, two frames of the counting (addresses) are skipped each minute on the minute. So at 00:59:29 the next frame is called 01:00:02, skipping two frames of numbering.
This is done on every minute, except the even 10 minutes. So for 54 minutes out of the hour, two frames of counting are skipped. For 6 minutes out of the hour, no frames are skipped. 2 frames times 54 minutes is 108 frames, or the difference we needed.
No frames were “dropped”, only some frame numbering addresses were skipped to help the clock on the wall match the clock on the video tape deck or computer.
Drop frame and non-drop frame timecode both play the same number of frames in an hour of real time.
The difference is that non-drop frame timecode has consecutive frame numbering addresses, and drop-frame timecode does not have consecutive frame numbering addresses, as it has dropped 108 frames of the count over the course of an hour, when it skipped 2 frames of count 54 times.