| 136 | |
| 137 | |
| 138 | def test_select(temp_hdfstore): |
| 139 | # select with columns= |
| 140 | df = DataFrame( |
| 141 | np.random.default_rng(2).standard_normal((10, 4)), |
| 142 | columns=Index(list("ABCD")), |
| 143 | index=date_range("2000-01-01", periods=10, freq="B", unit="ns"), |
| 144 | ) |
| 145 | temp_hdfstore.append("df", df) |
| 146 | result = temp_hdfstore.select("df", columns=["A", "B"]) |
| 147 | expected = df.reindex(columns=["A", "B"]) |
| 148 | tm.assert_frame_equal(expected, result) |
| 149 | |
| 150 | # equivalently |
| 151 | result = temp_hdfstore.select("df", ["columns=['A', 'B']"]) |
| 152 | expected = df.reindex(columns=["A", "B"]) |
| 153 | tm.assert_frame_equal(expected, result) |
| 154 | |
| 155 | # with a data column |
| 156 | temp_hdfstore.remove("df") |
| 157 | temp_hdfstore.append("df", df, data_columns=["A"]) |
| 158 | result = temp_hdfstore.select("df", ["A > 0"], columns=["A", "B"]) |
| 159 | expected = df[df.A > 0].reindex(columns=["A", "B"]) |
| 160 | tm.assert_frame_equal(expected, result) |
| 161 | |
| 162 | # all a data columns |
| 163 | temp_hdfstore.remove("df") |
| 164 | temp_hdfstore.append("df", df, data_columns=True) |
| 165 | result = temp_hdfstore.select("df", ["A > 0"], columns=["A", "B"]) |
| 166 | expected = df[df.A > 0].reindex(columns=["A", "B"]) |
| 167 | tm.assert_frame_equal(expected, result) |
| 168 | |
| 169 | # with a data column, but different columns |
| 170 | temp_hdfstore.remove("df") |
| 171 | temp_hdfstore.append("df", df, data_columns=["A"]) |
| 172 | result = temp_hdfstore.select("df", ["A > 0"], columns=["C", "D"]) |
| 173 | expected = df[df.A > 0].reindex(columns=["C", "D"]) |
| 174 | tm.assert_frame_equal(expected, result) |
| 175 | |
| 176 | |
| 177 | def test_select_dtypes_timestamp(temp_hdfstore): |