-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
ENH: Support MultiIndex columns in parquet (#34777) #36305
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
Changes from 2 commits
681ac1f
a46e46f
c974259
e9ff779
1b9e3f0
9e8f4eb
cc0f504
3ba38fa
a4131d2
26966b7
cc8e85c
3b9b52a
ed5fe60
c859a4f
039094c
167ae69
2e4fc58
180ddff
234009b
ab24628
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -53,9 +53,15 @@ def validate_dataframe(df: DataFrame): | |
if not isinstance(df, DataFrame): | ||
raise ValueError("to_parquet only supports IO with DataFrames") | ||
|
||
# must have value column names (strings only) | ||
if df.columns.inferred_type not in {"string", "empty"}: | ||
raise ValueError("parquet must have string column names") | ||
# must have value column names for all index levels (strings only) | ||
if df.columns.nlevels > 1: | ||
dsaxton marked this conversation as resolved.
Show resolved
Hide resolved
|
||
if not all( | ||
jreback marked this conversation as resolved.
Show resolved
Hide resolved
|
||
x.inferred_type in {"string", "empty"} for x in df.columns.levels | ||
): | ||
raise ValueError("parquet must have string column names") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can say something about 'for all values in each level of the MultiIndex' There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @jreback for the suggestion on the exception statement - adding that into my next commit! |
||
else: | ||
if df.columns.inferred_type not in {"string", "empty"}: | ||
raise ValueError("parquet must have string column names") | ||
|
||
# index level names must be strings | ||
valid_names = all( | ||
|
Uh oh!
There was an error while loading. Please reload this page.