First let’s understand by how google analytics calculates avg.session duration.
Avg.session duration = total duration of all sessions / number of sessions
So if the total duration of all sessions is 600 mins and total number of sessions 100 in the date range you selected, avg session duration would be
Avg.session duration = 600/ 100 = 6 minutes
Why Avg.session duration is 0?
When you are looking for an individual page session duration then it is calculated differently. It is calculated as the timestamp on the last activity in a session minus timestamp on the first activity.
If a user does not navigate to any other page or does not perform any other activity on your site, google analytics will not be able to calculate the avg.session duration and it will be noted as zero.
In other words, if a user only views a single page and bounces from the same page google analytics is unable to calculate the time spent on the page when a page view is a bounce.