Well, one easy way, as I imagine, would be to add a variable
jump_ani_playing, setting it to false as default value and only to true once the player char has left the ground (not hundreds of times each frame ;) ).
Then change your existing code to:
var jump_ani_playing = false
... # The following is in your physicsprocess function:...
if !is_on_floor() and !jump_ani_playing:
jump_ani_playing = true
So, when the player char lifts off for the first time,
jump_ani_playing is also still
false, so the sprite will start playing its JUMP animation.
true immediately afterwards, so that the next time the function runs, the IF statement as a whole will resolve to false and not restart the animation.
Should work (untested), but probably there are dozens of better ways to do that.
EDIT: For some reason, this Q&A system took the underscores in the variable names within my comment for "show this in italics". Modified the comment using the code feature for clarity.