google-cloud-python icon indicating copy to clipboard operation
google-cloud-python copied to clipboard

Timestamp returns a different type depending on whether the data is empty or not.

Open kitagry opened this issue 11 months ago • 1 comments

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-gbq version: 0.26.1
  • pandas version: 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!

kitagry avatar Jan 09 '25 13:01 kitagry

Thanks @kitagry for the report and the proposed fix!

tswast avatar Jan 27 '25 15:01 tswast