Very simple in pandas-gbq:
from google.oauth2 import service_account
import pandas_gbq
credentials = service_account.Credentials.from_service_account_file('
path/to/key.json'
)
df = pandas_gbq.read_gbq(query, project_id="YOUR-PROJECT-ID", credentials=credentials)