Sha256: afbc6d76658f5311ae391adff689398298bb31327d3b698bbc9dcf59ee3e2dac
Contents?: true
Size: 1.68 KB
Versions: 2
Compression:
Stored size: 1.68 KB
Contents
shared_examples_for 'a missable DataFrame' do describe '#rolling_fillna!' do subject do DaruLite::DataFrame.new({ a: [1, 2, 3, nil, Float::NAN, nil, 1, 7], b: [:a, :b, nil, Float::NAN, nil, 3, 5, nil], c: ['a', Float::NAN, 3, 4, 3, 5, nil, 7] }) end context 'rolling_fillna! forwards' do before { subject.rolling_fillna!(:forward) } it { expect(subject.rolling_fillna!(:forward)).to eq(subject) } its(:'a.to_a') { is_expected.to eq [1, 2, 3, 3, 3, 3, 1, 7] } its(:'b.to_a') { is_expected.to eq [:a, :b, :b, :b, :b, 3, 5, 5] } its(:'c.to_a') { is_expected.to eq ['a', 'a', 3, 4, 3, 5, 5, 7] } end context 'rolling_fillna! backwards' do before { subject.rolling_fillna!(:backward) } it { expect(subject.rolling_fillna!(:backward)).to eq(subject) } its(:'a.to_a') { is_expected.to eq [1, 2, 3, 1, 1, 1, 1, 7] } its(:'b.to_a') { is_expected.to eq [:a, :b, 3, 3, 3, 3, 5, 0] } its(:'c.to_a') { is_expected.to eq ['a', 3, 3, 4, 3, 5, 7, 7] } end end describe "#missing_values_rows" do subject { df.missing_values_rows } let(:df) do a1 = DaruLite::Vector.new [1, nil, 3, 4, 5, nil] a2 = DaruLite::Vector.new [10, nil, 20, 20, 20, 30] b1 = DaruLite::Vector.new [nil, nil, 1, 1, 1, 2] b2 = DaruLite::Vector.new [2, 2, 2, nil, 2, 3] c = DaruLite::Vector.new [nil, 2, 4, 2, 2, 2] DaruLite::DataFrame.new({a1:, a2:, b1:, b2:, c: }) end it "returns number of missing values in each row" do expect(subject).to eq(DaruLite::Vector.new [2, 3, 0, 1, 0, 1]) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
daru_lite-0.1.3 | spec/data_frame/missable_example.rb |
daru_lite-0.1.2 | spec/data_frame/missable_example.rb |