Guardiola, ahead of City's Champions League meeting with Shakhtar Donetsk, conceded the striker has endured a frustrating time with Sergio Aguero, now injured, selected ahead of him.
He said, "It's not easy for Gabriel, there's no other striker at this level who can be so humble and accept the situation. It's important in how you train and he never misses a training session. When he says he wants to work and learn that is the truth.
“He's an incredible guy, he and Sergio respect each other. Sergio plays more minutes but not much more, I try and involve both. Sometimes we need both on the pitch.
“We will miss Sergio, but we're going to wait for him and in Gabriel we have a star in that position."
Guardiola added: “His impact and energy immediately seduced us. He's extended his contract, he wants to stay here, he knew about the situation with Sergio before he extended the contract. He's young, he's going to play many years. Hopefully he'll stay here longer, but the desire of the players will decide."