Skip to content

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

Open
@kitagry

Description

@kitagry

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!

Metadata

Metadata

Assignees

Labels

api: bigqueryIssues related to the googleapis/python-bigquery-pandas API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions