Do not write index_column metadata if not requested

This commit is contained in:
Phillip Cloud committed 2017-05-16 10:36:59 -04:00
1 parent 21a88295f7
commit 2fa1f16dbd
2 files changed
+11 -9

No files matched your search

+10 -8
View File
@@ -79,23 +79,25 @@ def index_level_name(index, i):
return index.name or '__index_level_{:d}__'.format(i)
def construct_metadata(df, index_levels):
def construct_metadata(df, index_levels, preserve_index):
return {
b'pandas': json.dumps(
{
'index_columns': [
index_level_name(level, i)
for i, level in enumerate(index_levels)
],
] if preserve_index else [],
'columns': [
get_column_metadata(df[name], name=name)
for name in df.columns
] + [
get_column_metadata(
level, name=index_level_name(level, i)
)
for i, level in enumerate(index_levels)
],
] + (
[
get_column_metadata(
level, name=index_level_name(level, i)
)
for i, level in enumerate(index_levels)
] if preserve_index else []
),
'pandas_version': pd.__version__,
}
).encode('utf8')
+1 -1
View File
@@ -345,7 +345,7 @@ cdef tuple _dataframe_to_arrays(
)
names.append(pdcompat.index_level_name(level, i))
metadata = pdcompat.construct_metadata(df, index_levels)
metadata = pdcompat.construct_metadata(df, index_levels, preserve_index)
return names, arrays, metadata