If you have created service account and have private key json file for it, you can use this file to authenticate with pandas
In [5]: pd.read_gbq('''SELECT corpus, sum(word_count) words
FROM [bigquery-public-data:samples.shakespeare]
GROUP BY corpus
ORDER BY words desc
LIMIT 5'''
, project_id='<your-project-id>'
, private_key='<private key json contents or file path>')
Requesting query... ok.
[rest of output cutted]
Out[5]:
corpus words
0 hamlet 32446
1 kingrichardiii 31868
2 coriolanus 29535
3 cymbeline 29231
4 2kinghenryiv 28241