123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import numpy as np
- import pytest
- from pandas import DataFrame, SparseArray, SparseDataFrame, bdate_range
- data = {'A': [np.nan, np.nan, np.nan, 0, 1, 2, 3, 4, 5, 6],
- 'B': [0, 1, 2, np.nan, np.nan, np.nan, 3, 4, 5, 6],
- 'C': np.arange(10, dtype=np.float64),
- 'D': [0, 1, 2, 3, 4, 5, np.nan, np.nan, np.nan, np.nan]}
- dates = bdate_range('1/1/2011', periods=10)
- # fixture names must be compatible with the tests in
- # tests/frame/test_api.SharedWithSparse
- @pytest.fixture
- def float_frame_dense():
- """
- Fixture for dense DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D']; some entries are missing
- """
- return DataFrame(data, index=dates)
- @pytest.fixture
- def float_frame():
- """
- Fixture for sparse DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D']; some entries are missing
- """
- # default_kind='block' is the default
- return SparseDataFrame(data, index=dates, default_kind='block')
- @pytest.fixture
- def float_frame_int_kind():
- """
- Fixture for sparse DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D'] and default_kind='integer'.
- Some entries are missing.
- """
- return SparseDataFrame(data, index=dates, default_kind='integer')
- @pytest.fixture
- def float_string_frame():
- """
- Fixture for sparse DataFrame of floats and strings with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D', 'foo']; some entries are missing
- """
- sdf = SparseDataFrame(data, index=dates)
- sdf['foo'] = SparseArray(['bar'] * len(dates))
- return sdf
- @pytest.fixture
- def float_frame_fill0_dense():
- """
- Fixture for dense DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D']; missing entries have been filled with 0
- """
- values = SparseDataFrame(data).values
- values[np.isnan(values)] = 0
- return DataFrame(values, columns=['A', 'B', 'C', 'D'], index=dates)
- @pytest.fixture
- def float_frame_fill0():
- """
- Fixture for sparse DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D']; missing entries have been filled with 0
- """
- values = SparseDataFrame(data).values
- values[np.isnan(values)] = 0
- return SparseDataFrame(values, columns=['A', 'B', 'C', 'D'],
- default_fill_value=0, index=dates)
- @pytest.fixture
- def float_frame_fill2_dense():
- """
- Fixture for dense DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D']; missing entries have been filled with 2
- """
- values = SparseDataFrame(data).values
- values[np.isnan(values)] = 2
- return DataFrame(values, columns=['A', 'B', 'C', 'D'], index=dates)
- @pytest.fixture
- def float_frame_fill2():
- """
- Fixture for sparse DataFrame of floats with DatetimeIndex
- Columns are ['A', 'B', 'C', 'D']; missing entries have been filled with 2
- """
- values = SparseDataFrame(data).values
- values[np.isnan(values)] = 2
- return SparseDataFrame(values, columns=['A', 'B', 'C', 'D'],
- default_fill_value=2, index=dates)
- @pytest.fixture
- def empty_frame():
- """
- Fixture for empty SparseDataFrame
- """
- return SparseDataFrame()
|