City claimed a first-leg advantage in their round-of-16 tie in Germany, though only after substitute Leroy Sane's 85th-minute equaliser was followed by Raheem Sterling's 90th-minute winner.
Schalke had fallen behind to Sergio Aguero's opener, yet entered the interval 2-1 ahead thanks to a pair of Nabil Bentaleb penalties, awarded for a handball against Nicolas Otamendi and a foul by Fernandinho.
Otamendi then picked up a second caution after the break for an ill-timed trip of Guido Burgstaller, and Guardiola admitted City could consider themselves fortunate to emerge with a first-leg lead.
"The result is incredibly good, three goals away is good," he told a post-match news conference.
"We gave [Schalke] the first goal, we gave the second goal and we gave the red card. In that level, still we are not ready to fight for the Champions League, but the result is good.
"I know how difficult it is to play in Germany. They didn't shoot one shot on target [apart from the penalties] but they scored two goals.
"[After] the red card, the last 15, 20 minutes, maybe they push more and score the third and the fourth and you are out.
"The result is good, [the tie] is not over. Hopefully our fans can help us in the second leg and hopefully we can improve for the future."
Guardiola insisted the final result, and City's response to their difficult spells in the match, pleased him.
Yet he reiterated their lapses of concentration could prove their downfall in the latter stages of the competition.
Guardiola added: "The way we played, the way we started, the way we finished, the way we reacted 10 against 11, the way we reacted at half-time, 2-1 [down], in the second half we played incredibly good.
"I'm more than delighted, but it's not enough in this competition.
"When it happens in other stages, it's over."