There's a couple of assumptions here...
1) Saying freqSine.freq and freqSine.freq assumes that your sound is stereo and the Yin object truy receives 2 audio streams from the table reading.
2) Saying "F min = freqSine.freq" and "F max = freqSine.freq" assumes that the frequency in the left channel is lower than the one in the right channel.
As for your question, what has been given to the freq argument of the Sine object *is* a Yin object, that's why you are given that back when you inspect the "freq" attribute of the object. If you want the frequency itself as a float, you can retrieve it directly from the Yin object.
fr = fundamental.get(all=True) will return you a list of two floats (for a stereo file), one per channel. These will be the first value in the audio buffer streams at the moment you call it.
If you want the average frequency over a given duration, you'll have to accumulate the frequencies in a list and do the average when done. Something like (doing it mono for simplicity):
freqs = 
pat = Pattern(function=accumulate, time=0.01).play()
# some time later
average = sum(freqs) / len(freqs)