| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- """
- Tests for np.foo applied to DataFrame, not necessarily ufuncs.
- """
- import numpy as np
- from pandas import (
- Categorical,
- DataFrame,
- )
- import pandas._testing as tm
- class TestAsArray:
- def test_asarray_homogeneous(self):
- df = DataFrame({"A": Categorical([1, 2]), "B": Categorical([1, 2])})
- result = np.asarray(df)
- # may change from object in the future
- expected = np.array([[1, 1], [2, 2]], dtype="object")
- tm.assert_numpy_array_equal(result, expected)
- def test_np_sqrt(self, float_frame):
- with np.errstate(all="ignore"):
- result = np.sqrt(float_frame)
- assert isinstance(result, type(float_frame))
- assert result.index.is_(float_frame.index)
- assert result.columns.is_(float_frame.columns)
- tm.assert_frame_equal(result, float_frame.apply(np.sqrt))
- def test_sum_deprecated_axis_behavior(self):
- # GH#52042 deprecated behavior of df.sum(axis=None), which gets
- # called when we do np.sum(df)
- arr = np.random.default_rng(2).standard_normal((4, 3))
- df = DataFrame(arr)
- msg = "The behavior of DataFrame.sum with axis=None is deprecated"
- with tm.assert_produces_warning(
- FutureWarning, match=msg, check_stacklevel=False
- ):
- res = np.sum(df)
- with tm.assert_produces_warning(FutureWarning, match=msg):
- expected = df.sum(axis=None)
- tm.assert_series_equal(res, expected)
- def test_np_ravel(self):
- # GH26247
- arr = np.array(
- [
- [0.11197053, 0.44361564, -0.92589452],
- [0.05883648, -0.00948922, -0.26469934],
- ]
- )
- result = np.ravel([DataFrame(batch.reshape(1, 3)) for batch in arr])
- expected = np.array(
- [
- 0.11197053,
- 0.44361564,
- -0.92589452,
- 0.05883648,
- -0.00948922,
- -0.26469934,
- ]
- )
- tm.assert_numpy_array_equal(result, expected)
- result = np.ravel(DataFrame(arr[0].reshape(1, 3), columns=["x1", "x2", "x3"]))
- expected = np.array([0.11197053, 0.44361564, -0.92589452])
- tm.assert_numpy_array_equal(result, expected)
- result = np.ravel(
- [
- DataFrame(batch.reshape(1, 3), columns=["x1", "x2", "x3"])
- for batch in arr
- ]
- )
- expected = np.array(
- [
- 0.11197053,
- 0.44361564,
- -0.92589452,
- 0.05883648,
- -0.00948922,
- -0.26469934,
- ]
- )
- tm.assert_numpy_array_equal(result, expected)
|