Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add bool, int, float, string dtype to to_dataframe #1529

Merged
merged 1 commit into from Mar 23, 2023

Conversation

chelsea-lin
Copy link
Contributor

feat: add 'bool_dtype', 'int_dtype', 'float_dtype' and 'string_dtype' to the 'to_dataframe' APIs

This change introduces 'bool_dtype', 'int_dtype', 'float_dtype' and 'string_dtype' parameters to the 'to_dataframe' APIs, so that users can choose the custom ExtensionDtype for data conversions.

Fixes #954 and #1345 🦕

@chelsea-lin chelsea-lin requested review from a team as code owners March 22, 2023 16:52
@product-auto-label product-auto-label bot added size: l Pull request size is large. api: bigquery Issues related to the googleapis/python-bigquery API. labels Mar 22, 2023
Copy link
Contributor

@tswast tswast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it! Just some nits regarding how we handle the default values.

google/cloud/bigquery/job/query.py Outdated Show resolved Hide resolved
@chelsea-lin chelsea-lin force-pushed the main_chelsealin_typesmapper3 branch 2 times, most recently from c2355c4 to 4b60ff1 Compare March 22, 2023 18:59
@chelsea-lin chelsea-lin requested a review from tswast March 22, 2023 19:01
Copy link
Contributor

@tswast tswast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it!

I don't think the prerelease failures could be caused by this change. Filed #1530 to investigate.

@tswast tswast enabled auto-merge (squash) March 23, 2023 15:48
@tswast tswast added kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. and removed kokoro:run Add this label to force Kokoro to re-run the tests. labels Mar 23, 2023
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Mar 23, 2023
@tswast tswast merged commit 5e4465d into main Mar 23, 2023
5 checks passed
@tswast tswast deleted the main_chelsealin_typesmapper3 branch March 23, 2023 18:17
abdelmegahedgoogle pushed a commit to abdelmegahedgoogle/python-bigquery that referenced this pull request Apr 17, 2023
chalmerlowe added a commit that referenced this pull request Apr 18, 2023
#1541)

* bug: fixes discrepancy btwn python-api-core & bigquery re object default timeout

* Fix: loosen ipywidget dependency (#1504)

* fix: updates ipywidget dependency

* fix: updates ipywidget version number

* chore(main): release 3.6.0 (#1490)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* docs: Remove < 3.11 reference from README (#1502)

* chore(python): upgrade gcp-releasetool in .kokoro [autoapprove] (#1508)

Source-Link: googleapis/synthtool@5f2a608
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:8555f0e37e6261408f792bfd6635102d2da5ad73f8f09bcb24f25e6afb5fac97

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: add `connection_properties` and `create_session` to `LoadJobConfig` (#1509)

* feat: added `connection_properties` and `create_session` in load job

* chore(deps): update all dependencies (#1501)

* chore(deps): update all dependencies

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* chore(deps): update all dependencies (#1513)

* feat: add default_query_job_config property and property setter to BQ client (#1511)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [feature request](https://togithub.com/googleapis/python-bigquery/issues/1512) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes 
- [feature request](https://togithub.com/googleapis/python-bigquery/issues/1512)🦕
- [internal bug](https://b.corp.google.com/issues/271044948)

* chore(deps): update all dependencies (#1514)

* chore(deps): update dependency charset-normalizer to v3.1.0 (#1518)

* chore(main): release 3.7.0 (#1507)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* feat: expose configuration property on CopyJob, ExtractJob, LoadJob, QueryJob (#1521)

* feat: expose configuration property on CopyJob, ExtractJob, LoadJob, QueryJob

Note for google-cloud-bigquery developers: This also refactors these classes so
that `_set_properties` does not modify the `_properties` dictionary in-place.
Doing so was also mutating the request object, making it difficult to debug
what request was _actually_ sent. Before this change, many tests hallucinated
that the request was always equal to the response.

* E           google.api_core.exceptions.BadRequest: 400 Clone operation with write disposition WRITE_TRUNCATE is not supported. Please try again with WRITE_EMPTY.

* chore(deps): Update nox in .kokoro/requirements.in [autoapprove] (#1527)

Source-Link: googleapis/synthtool@92006bb
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:2e247c7bf5154df7f98cce087a20ca7605e236340c7d6d1a14447e5c06791bd6

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: add default LoadJobConfig to Client (#1526)

* feat: add bool, int, float, string dtype to to_dataframe (#1529)

* fix: loosen ipywidgets restrictions further to address ipython compatibility issues (#1531)

* fix: loosen ipywidgets restrictions further to address ipython compatibility issues

* include ipywidgets in prerelease deps

* show all package versions

* add ipykernel dependency

* ipykernel in noxfile

* oops

* chore(main): release 3.8.0 (#1525)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* fix: keyerror when the load_table_from_dataframe accesses a unmapped dtype dataframe index (#1535)

* feat: expose query job on dbapi cursor (#1520)

Co-authored-by: Tim Swast <swast@google.com>

* chore(main): release 3.9.0 (#1537)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore: update tests to be compatible with pandas 2.0 (#1538)

* chore: update tests to be compatible with pandas 2.0

* use StringDtype without storage argument

* avoid Float64Dtype on older pandas

* chore(deps): update all dependencies (#1522)

* chore: updates minimum version of bqstorage (#1542)

* chore: updates minimum version of bqstorage

* removes unneeded test

* updates linting, removes unneeded comment

* updates conditional checks, comments, adds test

* Removes test, adds pragma no cover

* Removes test

* fix linting error

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Atsushi Yamamoto <yamaatsushi927@gmail.com>
Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Shobhit Singh <just.shobhit@gmail.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: chelsea-lin <124939984+chelsea-lin@users.noreply.github.com>
Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: r1b <robert.cole.jensen@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigquery Issues related to the googleapis/python-bigquery API. size: l Pull request size is large.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for string[pyarrow] dtype
3 participants