Skip to content

Commit 1496ef6

Browse files
committed
Fix test_write_with_index to work with fastparquet
fastparquet automatically names an index 'index' if it doesn't already have a name
1 parent 7a6d9a9 commit 1496ef6

File tree

1 file changed

+30
-14
lines changed

1 file changed

+30
-14
lines changed

pandas/tests/io/test_parquet.py

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ def check_error_on_write(self, df, engine, exc):
174174
to_parquet(df, path, engine, compression=None)
175175

176176
def check_round_trip(self, df, engine, expected=None,
177-
write_kwargs=None, read_kwargs=None):
177+
write_kwargs=None, read_kwargs=None,
178+
check_names=True):
178179
if write_kwargs is None:
179180
write_kwargs = {}
180181
if read_kwargs is None:
@@ -185,15 +186,15 @@ def check_round_trip(self, df, engine, expected=None,
185186

186187
if expected is None:
187188
expected = df
188-
tm.assert_frame_equal(result, expected)
189+
tm.assert_frame_equal(result, expected, check_names=check_names)
189190

190191
# repeat
191192
to_parquet(df, path, engine, **write_kwargs)
192193
result = pd.read_parquet(path, engine, **read_kwargs)
193194

194195
if expected is None:
195196
expected = df
196-
tm.assert_frame_equal(result, expected)
197+
tm.assert_frame_equal(result, expected, check_names=check_names)
197198

198199

199200
class TestBasic(Base):
@@ -256,25 +257,40 @@ def test_read_columns(self, engine):
256257
read_kwargs={'columns': ['string']})
257258

258259
def test_write_with_index(self, engine):
260+
check_names = engine != 'fastparquet'
261+
259262
df = pd.DataFrame({'A': [1, 2, 3]})
260263
self.check_round_trip(df, engine, write_kwargs={'compression': None})
261264

265+
indexes = [
266+
[2, 3, 4],
267+
pd.date_range('20130101', periods=3),
268+
list('abc'),
269+
[1, 3, 4],
270+
]
262271
# non-default index
263-
for index in [[2, 3, 4],
264-
pd.date_range('20130101', periods=3),
265-
list('abc'),
266-
[1, 3, 4],
267-
pd.MultiIndex.from_tuples([('a', 1), ('a', 2),
268-
('b', 1)]),
269-
]:
270-
272+
for index in indexes:
271273
df.index = index
272-
self.check_round_trip(df, engine, write_kwargs={'compression': None})
273-
274+
self.check_round_trip(
275+
df, engine,
276+
write_kwargs={'compression': None},
277+
check_names=check_names,
278+
)
279+
if engine != 'fastparquet':
280+
# Not suppoprted in fastparquet as of 0.1.3
281+
index = pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1)])
282+
df.index = index
283+
self.check_round_trip(
284+
df, engine,
285+
write_kwargs={'compression': None},
286+
)
274287
# index with meta-data
275288
df.index = [0, 1, 2]
276289
df.index.name = 'foo'
277-
self.check_round_trip(df, engine, write_kwargs={'compression': None})
290+
self.check_round_trip(
291+
df, engine,
292+
write_kwargs={'compression': None}
293+
)
278294

279295
# column multi-index
280296
df.index = [0, 1, 2]

0 commit comments

Comments
 (0)