def test_category(self): result = render( pd.DataFrame({"A": [np.nan, "", "c"]}, dtype="category"), P(["A"]), # drops both '' and np.nan ) expected = pd.DataFrame({"A": ["c"]}, dtype="category") assert_frame_equal(result, expected)
def test_category(self): result = render( pd.DataFrame({'A': [np.nan, '', 'c']}, dtype='category'), P(['A']) # drops both '' and np.nan ) expected = pd.DataFrame({'A': ['c']}, dtype='category') assert_frame_equal(result, expected)
def test_multiple_columns_drops_union(self): result = render( pd.DataFrame({'A': [1, np.nan, 3.3], 'B': [np.nan, 'b', 'c']}), P(['A', 'B']) ) expected = pd.DataFrame({'A': [3.3], 'B': ['c']}) assert_frame_equal(result, expected)
def test_string(self): result = render( pd.DataFrame({'A': [1, 2, 3, 4], 'B': [np.nan, None, '', 'c']}), P(['B']) # drops both '' and np.nan ) expected = pd.DataFrame({'A': [4], 'B': ['c']}) assert_frame_equal(result, expected)
def test_numeric(self): result = render( pd.DataFrame({'A': [1, np.nan, 3.3], 'B': [np.nan, 'b', 'c']}), P(['A']) ) expected = pd.DataFrame({'A': [1, 3.3], 'B': [np.nan, 'c']}) assert_frame_equal(result, expected)
def test_datetime(self): result = render( pd.DataFrame({"A": [pd.NaT, "2019-05-01"]}, dtype="datetime64[ns]"), P(["A"]), ) expected = pd.DataFrame({"A": ["2019-05-01"]}, dtype="datetime64[ns]") assert_frame_equal(result, expected)
def test_numeric(self): result = render( pd.DataFrame({ "A": [1, np.nan, 3.3], "B": [np.nan, "b", "c"] }), P(["A"])) expected = pd.DataFrame({"A": [1, 3.3], "B": [np.nan, "c"]}) assert_frame_equal(result, expected)
def test_no_colnames(self): # No colnames -> do nothing result = render( pd.DataFrame({'A': ['', np.nan, 'x']}), P([]) ) expected = pd.DataFrame({'A': ['', np.nan, 'x']}) assert_frame_equal(result, expected)
def test_datetime(self): result = render( pd.DataFrame({'A': [pd.NaT, '2019-05-01']}, dtype='datetime64[ns]'), P(['A']) ) expected = pd.DataFrame({'A': ['2019-05-01']}, dtype='datetime64[ns]') assert_frame_equal(result, expected)
def test_colnames_comma_separated(self): result = pd.DataFrame({ 'A': ['', 'b', 'c'], 'B': [1.1, np.nan, 3.3], 'C': ['x', 'y', 'z'], }) result = render(result, {'colnames': 'A,B'}) expected = pd.DataFrame({'A': ['c'], 'B': [3.3], 'C': ['z']}) assert_frame_equal(result, expected)
def test_multiple_columns_drops_union(self): result = render( pd.DataFrame({ "A": [1, np.nan, 3.3], "B": [np.nan, "b", "c"] }), P(["A", "B"]), ) expected = pd.DataFrame({"A": [3.3], "B": ["c"]}) assert_frame_equal(result, expected)
def test_string(self): result = render( pd.DataFrame({ "A": [1, 2, 3, 4], "B": [np.nan, None, "", "c"] }), P(["B"]), # drops both '' and np.nan ) expected = pd.DataFrame({"A": [4], "B": ["c"]}) assert_frame_equal(result, expected)
def test_missing_colname(self): result = pd.DataFrame({'A': [1]}) result = render(result, {'colnames': 'B'}) self.assertEqual(result, 'You chose a missing column')