Skip to content

Conversation

@keejkrej
Copy link
Contributor

Pandas 3.0 uses strict string dtype by default, which raises TypeError when assigning non-string values (int, tuple, etc.) to string columns. This breaks many places in the codebase that rely on the old permissive object dtype behavior.

Setting pd.options.future.infer_string = False globally restores the pandas 2.x behavior where string columns use object dtype.

Pandas 3.0 uses strict string dtype by default, which raises TypeError
when assigning non-string values (int, tuple, etc.) to string columns.
This breaks many places in the codebase that rely on the old permissive
object dtype behavior.

Setting `pd.options.future.infer_string = False` globally restores the
pandas 2.x behavior where string columns use object dtype.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ElpadoCan ElpadoCan self-requested a review January 23, 2026 08:14
@ElpadoCan
Copy link
Collaborator

Thank you @keejkrej, I didn't try pandas 3.0 yet, so thanks for doing that!

@ElpadoCan ElpadoCan merged commit 5ab573c into SchmollerLab:main Jan 23, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants