google-cloud-python
google-cloud-python copied to clipboard
Timestamp returns a different type depending on whether the data is empty or not.
Environment details
- OS type and version: macOS sonoma 14.6
- Python version: 3.11.9
- pip version: I use rye instead of pip. and rye version is 0.35
pandas-gbqversion: 0.26.1pandasversion: 2.2.2
Code example
import pandas_gbq
df = pandas_gbq.read_gbq('SELECT timestamp FROM `bigquery-public-data.pypi.file_downloads` LIMIT 1')
print(df.dtypes)
df = pandas_gbq.read_gbq('SELECT timestamp FROM `bigquery-public-data.pypi.file_downloads` LIMIT 0')
print(df.dtypes)
got the following. I expected either us or ns
timestamp datetime64[us, UTC]
dtype: object
timestamp datetime64[ns, UTC]
dtype: object
When I downgrade pandas version to 1.5.3, the above both code returns datetime64[ns, UTC].
Thanks!
Thanks @kitagry for the report and the proposed fix!