Align at center:
\documentclass{article}
\usepackage{circuitikz}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[h]
\centering
\begin{circuitikz}[baseline=(current bounding box.center)]
\draw
(0, 0) node[op amp] (opamp) {}
(opamp.-) to[R,l_=$R_s$] (-3, 0.5)
(opamp.-) |- (-1, 1.5) to[R,l^=$R_f$] (1, 1.5) -| (opamp.out);
\draw (-3,0.5) node[ground,below]{};
\draw (opamp.-) to[short,*-] ++(0,0);
\draw (opamp.out) to[short,*-] ++(0,0) to[short] (2,0) node[right] {$V_o$};
\draw (opamp.+)node[left]{$V_i$};
\end{circuitikz}
\qquad
\begin{tabular}[c]{lr}
a & b \
aa & bb
\end{tabular}
\end{figure}
\lipsum[1]
\end{document}

Align at top:
\documentclass{article}
\usepackage{circuitikz}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[h]
\centering
\begin{circuitikz}[baseline={(0, 1.5)}]
\draw
(0, 0) node[op amp] (opamp) {}
(opamp.-) to[R,l_=$R_s$] (-3, 0.5)
(opamp.-) |- (-1, 1.5) to[R,l^=$R_f$] (1, 1.5) -| (opamp.out);
\draw (-3,0.5) node[ground,below]{};
\draw (opamp.-) to[short,*-] ++(0,0);
\draw (opamp.out) to[short,*-] ++(0,0) to[short] (2,0) node[right] {$V_o$};
\draw (opamp.+)node[left]{$V_i$};
\end{circuitikz}
\qquad
\begin{tabular}[t]{lr}
a & b \
aa & bb
\end{tabular}
\end{figure}
\lipsum[1]
\end{document}

circuitikz... ;-) it is the same as aligning atikzpictureand whatever else... for example: https://tex.stackexchange.com/questions/424121/placing-a-tikz-picture-and-table-side-by-side – Rmano Jun 20 '20 at 09:12