Skip to content

Commit be3d55d

Browse files
committed
default check_names to True, and fix calls where this is problematic
1 parent 153077f commit be3d55d

File tree

12 files changed

+87
-64
lines changed

12 files changed

+87
-64
lines changed

pandas/core/frame.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2241,7 +2241,7 @@ def pop(self, item):
22412241
column : Series
22422242
"""
22432243
return NDFrame.pop(self, item)
2244-
2244+
22452245
# to support old APIs
22462246
@property
22472247
def _series(self):

pandas/io/tests/test_excel.py

+18-15
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ def test_parse_cols_int(self):
103103
df2 = df2.reindex(columns=['A', 'B', 'C'])
104104
df3 = xls.parse('Sheet2', skiprows=[1], index_col=0,
105105
parse_dates=True, parse_cols=3)
106-
tm.assert_frame_equal(df, df2)
107-
tm.assert_frame_equal(df3, df2)
106+
tm.assert_frame_equal(df, df2, check_names=False) # TODO add index to xls file)
107+
tm.assert_frame_equal(df3, df2, check_names=False)
108108

109109
def test_parse_cols_list(self):
110110
_skip_if_no_openpyxl()
@@ -122,8 +122,8 @@ def test_parse_cols_list(self):
122122
df3 = xls.parse('Sheet2', skiprows=[1], index_col=0,
123123
parse_dates=True,
124124
parse_cols=[0, 2, 3])
125-
tm.assert_frame_equal(df, df2)
126-
tm.assert_frame_equal(df3, df2)
125+
tm.assert_frame_equal(df, df2, check_names=False) # TODO add index to xls file
126+
tm.assert_frame_equal(df3, df2, check_names=False)
127127

128128
def test_parse_cols_str(self):
129129
_skip_if_no_openpyxl()
@@ -142,8 +142,8 @@ def test_parse_cols_str(self):
142142
df2 = df2.reindex(columns=['A', 'B', 'C'])
143143
df3 = xls.parse('Sheet2', skiprows=[1], index_col=0,
144144
parse_dates=True, parse_cols='A:D')
145-
tm.assert_frame_equal(df, df2)
146-
tm.assert_frame_equal(df3, df2)
145+
tm.assert_frame_equal(df, df2, check_names=False) # TODO add index to xls, read xls ignores index name ?
146+
tm.assert_frame_equal(df3, df2, check_names=False)
147147
del df, df2, df3
148148

149149
df = xls.parse('Sheet1', index_col=0, parse_dates=True,
@@ -153,8 +153,8 @@ def test_parse_cols_str(self):
153153
df3 = xls.parse('Sheet2', skiprows=[1], index_col=0,
154154
parse_dates=True,
155155
parse_cols='A,C,D')
156-
tm.assert_frame_equal(df, df2)
157-
tm.assert_frame_equal(df3, df2)
156+
tm.assert_frame_equal(df, df2, check_names=False) # TODO add index to xls file
157+
tm.assert_frame_equal(df3, df2, check_names=False)
158158
del df, df2, df3
159159

160160
df = xls.parse('Sheet1', index_col=0, parse_dates=True,
@@ -164,8 +164,8 @@ def test_parse_cols_str(self):
164164
df3 = xls.parse('Sheet2', skiprows=[1], index_col=0,
165165
parse_dates=True,
166166
parse_cols='A,C:D')
167-
tm.assert_frame_equal(df, df2)
168-
tm.assert_frame_equal(df3, df2)
167+
tm.assert_frame_equal(df, df2, check_names=False)
168+
tm.assert_frame_equal(df3, df2, check_names=False)
169169

170170
def test_excel_stop_iterator(self):
171171
_skip_if_no_xlrd()
@@ -191,8 +191,8 @@ def test_excel_table(self):
191191
df = xls.parse('Sheet1', index_col=0, parse_dates=True)
192192
df2 = self.read_csv(self.csv1, index_col=0, parse_dates=True)
193193
df3 = xls.parse('Sheet2', skiprows=[1], index_col=0, parse_dates=True)
194-
tm.assert_frame_equal(df, df2)
195-
tm.assert_frame_equal(df3, df2)
194+
tm.assert_frame_equal(df, df2, check_names=False)
195+
tm.assert_frame_equal(df3, df2, check_names=False)
196196

197197
df4 = xls.parse('Sheet1', index_col=0, parse_dates=True,
198198
skipfooter=1)
@@ -224,8 +224,9 @@ def test_xlsx_table(self):
224224
df = xlsx.parse('Sheet1', index_col=0, parse_dates=True)
225225
df2 = self.read_csv(self.csv1, index_col=0, parse_dates=True)
226226
df3 = xlsx.parse('Sheet2', skiprows=[1], index_col=0, parse_dates=True)
227-
tm.assert_frame_equal(df, df2)
228-
tm.assert_frame_equal(df3, df2)
227+
228+
tm.assert_frame_equal(df, df2, check_names=False) # TODO add index to xlsx file
229+
tm.assert_frame_equal(df3, df2, check_names=False)
229230

230231
df4 = xlsx.parse('Sheet1', index_col=0, parse_dates=True,
231232
skipfooter=1)
@@ -632,7 +633,9 @@ def _check_excel_multiindex_dates(self, ext):
632633
tsframe.to_excel(path, 'test1', index_label=['time', 'foo'])
633634
reader = ExcelFile(path)
634635
recons = reader.parse('test1', index_col=[0, 1])
635-
tm.assert_frame_equal(tsframe, recons)
636+
637+
tm.assert_frame_equal(tsframe, recons, check_names=False)
638+
self.assertEquals(recons.index.names, ['time', 'foo'])
636639

637640
# infer index
638641
tsframe.to_excel(path, 'test1')

pandas/io/tests/test_parsers.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,7 @@ def test_skiprows_bug(self):
514514
columns=[1, 2, 3],
515515
index=[datetime(2000, 1, 1), datetime(2000, 1, 2),
516516
datetime(2000, 1, 3)])
517+
expected.index.name = 0
517518
tm.assert_frame_equal(data, expected)
518519
tm.assert_frame_equal(data, data2)
519520

@@ -627,7 +628,7 @@ def test_yy_format(self):
627628
idx = DatetimeIndex([datetime(2009, 1, 31, 0, 10, 0),
628629
datetime(2009, 2, 28, 10, 20, 0),
629630
datetime(2009, 3, 31, 8, 30, 0)]).asobject
630-
idx.name = 'date'
631+
idx.name = 'date_time'
631632
xp = DataFrame({'B': [1, 3, 5], 'C': [2, 4, 6]}, idx)
632633
tm.assert_frame_equal(rs, xp)
633634

@@ -636,7 +637,7 @@ def test_yy_format(self):
636637
idx = DatetimeIndex([datetime(2009, 1, 31, 0, 10, 0),
637638
datetime(2009, 2, 28, 10, 20, 0),
638639
datetime(2009, 3, 31, 8, 30, 0)]).asobject
639-
idx.name = 'date'
640+
idx.name = 'date_time'
640641
xp = DataFrame({'B': [1, 3, 5], 'C': [2, 4, 6]}, idx)
641642
tm.assert_frame_equal(rs, xp)
642643

@@ -967,7 +968,7 @@ def test_multi_index_no_level_names(self):
967968
df = self.read_csv(StringIO(no_header), index_col=[0, 1],
968969
header=None, names=names)
969970
expected = self.read_csv(StringIO(data), index_col=[0, 1])
970-
tm.assert_frame_equal(df, expected)
971+
tm.assert_frame_equal(df, expected, check_names=False)
971972

972973
# 2 implicit first cols
973974
df2 = self.read_csv(StringIO(data2))
@@ -977,7 +978,7 @@ def test_multi_index_no_level_names(self):
977978
df = self.read_csv(StringIO(no_header), index_col=[1, 0], names=names,
978979
header=None)
979980
expected = self.read_csv(StringIO(data), index_col=[1, 0])
980-
tm.assert_frame_equal(df, expected)
981+
tm.assert_frame_equal(df, expected, check_names=False)
981982

982983
def test_multi_index_parse_dates(self):
983984
data = """index1,index2,A,B,C
@@ -1162,11 +1163,13 @@ def test_na_value_dict(self):
11621163

11631164
xp = DataFrame({'b': [np.nan], 'd': [5]},
11641165
MultiIndex.from_tuples([(0, 1)]))
1166+
xp.index.names = ['a', 'c']
11651167
df = self.read_csv(StringIO(data), na_values={}, index_col=[0, 2])
11661168
tm.assert_frame_equal(df, xp)
11671169

11681170
xp = DataFrame({'b': [np.nan], 'd': [5]},
11691171
MultiIndex.from_tuples([(0, 1)]))
1172+
xp.index.names = ['a', 'c']
11701173
df = self.read_csv(StringIO(data), na_values={}, index_col=['a', 'c'])
11711174
tm.assert_frame_equal(df, xp)
11721175

@@ -1249,7 +1252,7 @@ def test_multiple_date_cols_index(self):
12491252
tm.assert_frame_equal(df2, df)
12501253

12511254
df3 = self.read_csv(StringIO(data), parse_dates=[[1, 2]], index_col=0)
1252-
tm.assert_frame_equal(df3, df)
1255+
tm.assert_frame_equal(df3, df, check_names=False)
12531256

12541257
def test_multiple_date_cols_chunked(self):
12551258
df = self.read_csv(StringIO(self.ts_data), parse_dates={

pandas/io/tests/test_sql.py

+1
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ def _check_roundtrip(self, frame):
174174
index_col='Idx')
175175
expected = frame.copy()
176176
expected.index = Index(range(len(frame2))) + 10
177+
expected.index.name = 'Idx'
177178
tm.assert_frame_equal(expected, result)
178179

179180
def test_tquery(self):

pandas/tests/test_frame.py

+29-21
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ def test_getitem_list(self):
133133
result2 = self.frame[Index(['B', 'A'])]
134134

135135
expected = self.frame.ix[:, ['B', 'A']]
136+
expected.columns.name = 'foo'
137+
136138
assert_frame_equal(result, expected)
137139
assert_frame_equal(result2, expected)
138140

@@ -1678,7 +1680,8 @@ def test_join_index_series(self):
16781680
df = self.frame.copy()
16791681
s = df.pop(self.frame.columns[-1])
16801682
joined = df.join(s)
1681-
assert_frame_equal(joined, self.frame)
1683+
1684+
assert_frame_equal(joined, self.frame, check_names=False) # TODO should this check_names ?
16821685

16831686
s.name = None
16841687
self.assertRaises(Exception, df.join, s)
@@ -1896,7 +1899,7 @@ def test_set_index_pass_arrays(self):
18961899
# multiple columns
18971900
result = df.set_index(['A', df['B'].values], drop=False)
18981901
expected = df.set_index(['A', 'B'], drop=False)
1899-
assert_frame_equal(result, expected)
1902+
assert_frame_equal(result, expected, check_names=False) # TODO should set_index check_names ?
19001903

19011904
def test_set_index_cast_datetimeindex(self):
19021905
df = DataFrame({'A': [datetime(2000, 1, 1) + timedelta(i)
@@ -3720,12 +3723,15 @@ def test_delitem(self):
37203723
self.assert_('A' not in self.frame)
37213724

37223725
def test_pop(self):
3726+
self.frame.columns.name = 'baz'
3727+
37233728
A = self.frame.pop('A')
37243729
self.assert_('A' not in self.frame)
37253730

37263731
self.frame['foo'] = 'bar'
37273732
foo = self.frame.pop('foo')
37283733
self.assert_('foo' not in self.frame)
3734+
# TODO self.assert_(self.frame.columns.name == 'baz')
37293735

37303736
def test_pop_non_unique_cols(self):
37313737
df = DataFrame({0: [0, 1], 1: [0, 1], 2: [4, 5]})
@@ -4409,7 +4415,7 @@ def test_to_csv_from_csv(self):
44094415
df.to_csv(path)
44104416
result = DataFrame.from_csv(path, index_col=[0, 1, 2],
44114417
parse_dates=False)
4412-
assert_frame_equal(result, df)
4418+
assert_frame_equal(result, df, check_names=False) # TODO from_csv names index ['Unnamed: 1', 'Unnamed: 2'] should it ?
44134419

44144420
# column aliases
44154421
col_aliases = Index(['AA', 'X', 'Y', 'Z'])
@@ -4436,8 +4442,8 @@ def test_to_csv_from_csv_w_some_infs(self):
44364442
self.frame.to_csv(path)
44374443
recons = DataFrame.from_csv(path)
44384444

4439-
assert_frame_equal(self.frame, recons)
4440-
assert_frame_equal(np.isinf(self.frame), np.isinf(recons))
4445+
assert_frame_equal(self.frame, recons, check_names=False) # TODO to_csv drops column name
4446+
assert_frame_equal(np.isinf(self.frame), np.isinf(recons), check_names=False)
44414447

44424448
try:
44434449
os.remove(path)
@@ -4456,8 +4462,8 @@ def test_to_csv_from_csv_w_all_infs(self):
44564462
self.frame.to_csv(path)
44574463
recons = DataFrame.from_csv(path)
44584464

4459-
assert_frame_equal(self.frame, recons)
4460-
assert_frame_equal(np.isinf(self.frame), np.isinf(recons))
4465+
assert_frame_equal(self.frame, recons, check_names=False) # TODO to_csv drops column name
4466+
assert_frame_equal(np.isinf(self.frame), np.isinf(recons), check_names=False)
44614467

44624468
os.remove(path)
44634469

@@ -4476,7 +4482,7 @@ def test_to_csv_multiindex(self):
44764482
frame.to_csv(path)
44774483
df = DataFrame.from_csv(path, index_col=[0, 1], parse_dates=False)
44784484

4479-
assert_frame_equal(frame, df)
4485+
assert_frame_equal(frame, df, check_names=False) # TODO to_csv drops column name
44804486
self.assertEqual(frame.index.names, df.index.names)
44814487
self.frame.index = old_index # needed if setUP becomes a classmethod
44824488

@@ -4488,7 +4494,7 @@ def test_to_csv_multiindex(self):
44884494

44894495
tsframe.to_csv(path, index_label=['time', 'foo'])
44904496
recons = DataFrame.from_csv(path, index_col=[0, 1])
4491-
assert_frame_equal(tsframe, recons)
4497+
assert_frame_equal(tsframe, recons, check_names=False) # TODO to_csv drops column name
44924498

44934499
# do not load index
44944500
tsframe.to_csv(path)
@@ -4545,7 +4551,7 @@ def test_to_csv_bug(self):
45454551
newdf.to_csv(path)
45464552

45474553
recons = pan.read_csv(path, index_col=0)
4548-
assert_frame_equal(recons, newdf)
4554+
assert_frame_equal(recons, newdf, check_names=False) # don't check_names as t != 1
45494555

45504556
os.remove(path)
45514557

@@ -4581,7 +4587,7 @@ def test_to_csv_stringio(self):
45814587
self.frame.to_csv(buf)
45824588
buf.seek(0)
45834589
recons = pan.read_csv(buf, index_col=0)
4584-
assert_frame_equal(recons, self.frame)
4590+
assert_frame_equal(recons, self.frame, check_names=False) # TODO to_csv drops column name
45854591

45864592
def test_to_csv_float_format(self):
45874593
filename = '__tmp_to_csv_float_format__.csv'
@@ -5867,6 +5873,7 @@ def test_pivot(self):
58675873
'One': {'A': 1., 'B': 2., 'C': 3.},
58685874
'Two': {'A': 1., 'B': 2., 'C': 3.}
58695875
})
5876+
expected.index.name, expected.columns.name = 'index', 'columns'
58705877

58715878
assert_frame_equal(pivoted, expected)
58725879

@@ -5895,7 +5902,7 @@ def test_pivot_empty(self):
58955902
df = DataFrame({}, columns=['a', 'b', 'c'])
58965903
result = df.pivot('a', 'b', 'c')
58975904
expected = DataFrame({})
5898-
assert_frame_equal(result, expected)
5905+
assert_frame_equal(result, expected, check_names=False)
58995906

59005907
def test_pivot_integer_bug(self):
59015908
df = DataFrame(data=[("A", "1", "A1"), ("B", "2", "B2")])
@@ -6401,10 +6408,9 @@ def test_rename(self):
64016408

64026409
assert_frame_equal(renamed, renamed2)
64036410
assert_frame_equal(renamed2.rename(columns=str.upper),
6404-
self.frame)
6411+
self.frame, check_names=False)
64056412

64066413
# index
6407-
64086414
data = {
64096415
'A': {'foo': 0, 'bar': 1}
64106416
}
@@ -6953,7 +6959,8 @@ def test_select(self):
69536959

69546960
result = self.frame.select(lambda x: x in ('B', 'D'), axis=1)
69556961
expected = self.frame.reindex(columns=['B', 'D'])
6956-
assert_frame_equal(result, expected)
6962+
6963+
assert_frame_equal(result, expected, check_names=False) # TODO should reindex check_names?
69576964

69586965
def test_sort_index(self):
69596966
frame = DataFrame(np.random.randn(4, 4), index=[1, 2, 3, 4],
@@ -8238,30 +8245,31 @@ def test_reset_index(self):
82388245
# only remove certain columns
82398246
frame = self.frame.reset_index().set_index(['index', 'A', 'B'])
82408247
rs = frame.reset_index(['A', 'B'])
8241-
assert_frame_equal(rs, self.frame)
8248+
8249+
assert_frame_equal(rs, self.frame, check_names=False) # TODO should reset_index check_names ?
82428250

82438251
rs = frame.reset_index(['index', 'A', 'B'])
8244-
assert_frame_equal(rs, self.frame.reset_index())
8252+
assert_frame_equal(rs, self.frame.reset_index(), check_names=False)
82458253

82468254
rs = frame.reset_index(['index', 'A', 'B'])
8247-
assert_frame_equal(rs, self.frame.reset_index())
8255+
assert_frame_equal(rs, self.frame.reset_index(), check_names=False)
82488256

82498257
rs = frame.reset_index('A')
82508258
xp = self.frame.reset_index().set_index(['index', 'B'])
8251-
assert_frame_equal(rs, xp)
8259+
assert_frame_equal(rs, xp, check_names=False)
82528260

82538261
# test resetting in place
82548262
df = self.frame.copy()
82558263
resetted = self.frame.reset_index()
82568264
df.reset_index(inplace=True)
8257-
assert_frame_equal(df, resetted)
8265+
assert_frame_equal(df, resetted, check_names=False)
82588266

82598267
frame = self.frame.reset_index().set_index(['index', 'A', 'B'])
82608268
rs = frame.reset_index('A', drop=True)
82618269
xp = self.frame.copy()
82628270
del xp['A']
82638271
xp = xp.set_index(['B'], append=True)
8264-
assert_frame_equal(rs, xp)
8272+
assert_frame_equal(rs, xp, check_names=False)
82658273

82668274
def test_reset_index_right_dtype(self):
82678275
time = np.arange(0.0, 10, np.sqrt(2) / 2)

0 commit comments

Comments
 (0)