Deedle


IVirtualVectorSource<'V>

Namespace: Deedle.Vectors.Virtual

Represents a data source for Big Deedle. The interface is used both as a representation of data source for VirtualVector (this file) and VirtualIndex (another file). The index uses Length and ValueAt to perform binary search when looking for a key; the vector simply provides an access to values using ValueAt.

Instance members

Instance memberDescription
x.GetSubVector(arg1)
Signature: RangeRestriction<Address> -> IVirtualVectorSource<'V>
Modifiers: abstract

Returns a virtual source for the specified range (used when performing splicing on the frame/series, both using address or using keys - which are obtained using Lookup)

x.LookupRange(arg1)
Signature: 'V -> RangeRestriction<Address>
Modifiers: abstract

Find a range (continuous or a sequence of indices) such that all values in the range are the specified value. This is used, for example, when filtering frame based on column value (say column "PClass" has a value "1").

If the data source has some "clever" representation of the range, it can return Custom of IVectorRange - which is then passed to GetSubVector.

x.LookupValue(arg1, arg2, arg3)
Signature: ('V * Lookup * Func<Address,bool>) -> OptionalValue<'V * Address>
Modifiers: abstract

Find the address associated with the specified value. This is used by the index and it has the same signature as IIndex<'K>.Lookup (see Index.fs).

x.MergeWith(arg1)
Signature: seq<IVirtualVectorSource<'V>> -> IVirtualVectorSource<'V>
Modifiers: abstract

Merge the current source with a list of other sources (used by functions such as Frame.merge and Frame.mergeAll)

x.ValueAt(arg1)
Signature: IVectorLocation -> OptionalValue<'V>
Modifiers: abstract

Returns the value at the specifid address. We assume that the address is in range [0L, Length-1L] and that each location has a value (or has a missing value, but is valid)

Fork me on GitHub