Skip to content

Commit b6a178c

Browse files
committed
Merge pull request #4858 from jreback/hdf_where
TST: reproducing tests for subtle PyTables bug (disabled for now)
2 parents 2097f2d + 575dd04 commit b6a178c

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

pandas/io/tests/test_pytables.py

+40
Original file line numberDiff line numberDiff line change
@@ -2695,6 +2695,46 @@ def test_select_dtypes(self):
26952695
expected = df.reindex(index=list(df.index)[0:10],columns=['A'])
26962696
tm.assert_frame_equal(expected, result)
26972697

2698+
with ensure_clean(self.path) as store:
2699+
2700+
# floats w/o NaN
2701+
df = DataFrame(dict(cols = range(11), values = range(11)),dtype='float64')
2702+
df['cols'] = (df['cols']+10).apply(str)
2703+
2704+
store.append('df1',df,data_columns=True)
2705+
result = store.select(
2706+
'df1', where='values>2.0')
2707+
expected = df[df['values']>2.0]
2708+
tm.assert_frame_equal(expected, result)
2709+
2710+
# floats with NaN
2711+
df.iloc[0] = np.nan
2712+
expected = df[df['values']>2.0]
2713+
2714+
store.append('df2',df,data_columns=True,index=False)
2715+
result = store.select(
2716+
'df2', where='values>2.0')
2717+
tm.assert_frame_equal(expected, result)
2718+
2719+
# https://github.com/PyTables/PyTables/issues/282
2720+
# bug in selection when 0th row has a np.nan and an index
2721+
#store.append('df3',df,data_columns=True)
2722+
#result = store.select(
2723+
# 'df3', where='values>2.0')
2724+
#tm.assert_frame_equal(expected, result)
2725+
2726+
# not in first position float with NaN ok too
2727+
df = DataFrame(dict(cols = range(11), values = range(11)),dtype='float64')
2728+
df['cols'] = (df['cols']+10).apply(str)
2729+
2730+
df.iloc[1] = np.nan
2731+
expected = df[df['values']>2.0]
2732+
2733+
store.append('df4',df,data_columns=True)
2734+
result = store.select(
2735+
'df4', where='values>2.0')
2736+
tm.assert_frame_equal(expected, result)
2737+
26982738
def test_select_with_many_inputs(self):
26992739

27002740
with ensure_clean(self.path) as store:

0 commit comments

Comments
 (0)