コード例 #1
0
        public static Frame <c, a> frame <a, b, c>(IEnumerable <Tuple <TLeft, TRight> > columns) where b : ISeries <c>
        {
            Tuple <a[], b[]> tuple1 = ArrayModule.Unzip <TLeft, TRight>((Tuple <M0, M1>[])ArrayModule.OfSeq <Tuple <TLeft, TRight> >((IEnumerable <M0>)columns));

            b[] values = tuple1.Item2;
            a[] keys   = tuple1.Item1;
            Tuple <FSharpList <IVectorBuilder>, FSharpList <IIndexBuilder> > tuple2 = new Tuple <FSharpList <IVectorBuilder>, FSharpList <IIndexBuilder> >((FSharpList <IVectorBuilder>)ListModule.OfSeq <IVectorBuilder>(SeqModule.Distinct <IVectorBuilder>((IEnumerable <M0>)SeqModule.ToList <IVectorBuilder>((IEnumerable <M0>) new FFrameextensions.vbs <b, c>(values, default(b), (IEnumerator <b>)null, 0, (IVectorBuilder)null)))), (FSharpList <IIndexBuilder>)ListModule.OfSeq <IIndexBuilder>(SeqModule.Distinct <IIndexBuilder>((IEnumerable <M0>)SeqModule.ToList <IIndexBuilder>((IEnumerable <M0>) new FFrameextensions.ibs <b, c>(values, default(b), (IEnumerator <b>)null, 0, (IIndexBuilder)null)))));
            Tuple <IVectorBuilder, IIndexBuilder> tuple3;

            if (tuple2.Item1.get_TailOrNull() != null)
            {
                FSharpList <IVectorBuilder> fsharpList1 = tuple2.Item1;
                if (fsharpList1.get_TailOrNull().get_TailOrNull() == null && tuple2.Item2.get_TailOrNull() != null)
                {
                    FSharpList <IIndexBuilder> fsharpList2 = tuple2.Item2;
                    if (fsharpList2.get_TailOrNull().get_TailOrNull() == null)
                    {
                        tuple3 = new Tuple <IVectorBuilder, IIndexBuilder>(fsharpList1.get_HeadOrDefault(), fsharpList2.get_HeadOrDefault());
                        goto label_5;
                    }
                }
            }
            tuple3 = new Tuple <IVectorBuilder, IIndexBuilder>(FVectorBuilderimplementation.VectorBuilder.Instance, FIndexBuilderimplementation.IndexBuilder.Instance);
label_5:
            Tuple <IVectorBuilder, IIndexBuilder> tuple4 = tuple3;
            IVectorBuilder vectorBuilder = tuple4.Item1;

            return(FrameUtils.fromColumns <c, a, b>(tuple4.Item2, vectorBuilder, new Series <TLeft, TRight>(keys, values)));
        }
コード例 #2
0
 public Frame <TRowKey, TColumnKey> this[IEnumerable <TColumnKey> items]
 {
     get
     {
         return(FrameUtils.fromColumns <TRowKey, TColumnKey, ObjectSeries <TRowKey> >(this.indexBuilder, this.vectorBuilder, this.GetItems(items)));
     }
 }
コード例 #3
0
        public static Frame <R, C> FrameofColumnsStatic <C, a, R>(IEnumerable <Tuple <C, a> > cols) where a : ISeries <R>
        {
            Tuple <FSharpList <C>, FSharpList <a> > tuple = ListModule.Unzip <C, a>((FSharpList <Tuple <M0, M1> >)ListModule.OfSeq <Tuple <C, a> >((IEnumerable <M0>)cols));
            FSharpList <a> fsharpList = tuple.Item2;

            return(FrameUtils.fromColumns <R, C, a>(FIndexBuilderimplementation.IndexBuilder.Instance, FVectorBuilderimplementation.VectorBuilder.Instance, new Series <C, a>((IEnumerable <C>)tuple.Item1, (IEnumerable <a>)fsharpList)));
        }
コード例 #4
0
 public static Frame <R, C> FrameofColumnsStatic <C, b, R>(Series <C, b> cols) where b : ISeries <R>
 {
     return(FrameUtils.fromColumns <R, C, b>(FIndexBuilderimplementation.IndexBuilder.Instance, FVectorBuilderimplementation.VectorBuilder.Instance, cols));
 }
コード例 #5
0
ファイル: FrameExtensions.cs プロジェクト: nh43de/deedle-cs
        public static Frame <TRowKey, a> SelectColumnKeys <TRowKey, TColumnKey, a>(this Frame <TRowKey, TColumnKey> frame, Func <KeyValuePair <TColumnKey, OptionalValue <ObjectSeries <TRowKey> > >, a> projection)
        {
            Series <a, ObjectSeries <TRowKey> > nested = frame.Columns.SelectKeys <a>(projection);

            return(FrameUtils.fromColumns <TRowKey, a, ObjectSeries <TRowKey> >(frame.IndexBuilder, frame.VectorBuilder, nested));
        }
コード例 #6
0
ファイル: Frame.cs プロジェクト: nh43de/deedle-cs
 public static Frame <TRowKey, TColKey> FromColumns <TColKey, TRowKey, V>(Series <TColKey, Series <TRowKey, V> > cols)
 {
     return(FrameUtils.fromColumns <TRowKey, TColKey, Series <TRowKey, V> >(FIndexBuilderimplementation.IndexBuilder.Instance, FVectorBuilderimplementation.VectorBuilder.Instance, cols));
 }
コード例 #7
0
ファイル: Frame.cs プロジェクト: nh43de/deedle-cs
 public static Frame <RowKey, ColKey> FromColumns <ColKey, RowKey>(IEnumerable <KeyValuePair <ColKey, ObjectSeries <RowKey> > > columns)
 {
     return(FrameUtils.fromColumns <RowKey, ColKey, ObjectSeries <RowKey> >(FIndexBuilderimplementation.IndexBuilder.Instance, FVectorBuilderimplementation.VectorBuilder.Instance, new Series <ColKey, ObjectSeries <RowKey> >((IEnumerable <ColKey>)SeqModule.Map <KeyValuePair <ColKey, ObjectSeries <RowKey> >, ColKey>((FSharpFunc <M0, M1>) new FrameExtensions.colKeys <ColKey, RowKey>(), (IEnumerable <M0>)columns), (IEnumerable <ObjectSeries <RowKey> >)SeqModule.Map <KeyValuePair <ColKey, ObjectSeries <RowKey> >, ObjectSeries <RowKey> >((FSharpFunc <M0, M1>) new FrameExtensions.colSeries <ColKey, RowKey>(), (IEnumerable <M0>)columns))));
 }
コード例 #8
0
ファイル: Frame.cs プロジェクト: nh43de/deedle-cs
 public static Frame <ColKey, int> FromColumns <ColKey, V>(IEnumerable <Series <ColKey, V> > cols)
 {
     return(FrameUtils.fromColumns <ColKey, int, Series <ColKey, V> >(FIndexBuilderimplementation.IndexBuilder.Instance, FVectorBuilderimplementation.VectorBuilder.Instance, new Series <int, Series <ColKey, V> >((IEnumerable <int>)SeqModule.MapIndexed <Series <ColKey, V>, int>((FSharpFunc <int, FSharpFunc <M0, M1> >) new FrameExtensions.FromColumns <ColKey, V>(), (IEnumerable <M0>)cols), cols)));
 }
コード例 #9
0
 public Frame <TRowKey, TColumnKey> GetByLevel(ICustomLookup <TColumnKey> level)
 {
     return(FrameUtils.fromColumns <TRowKey, TColumnKey, ObjectSeries <TRowKey> >(this.indexBuilder, this.vectorBuilder, base.GetByLevel(level)));
 }
コード例 #10
0
 public Frame <TRowKey, TColumnKey> GetSlice(FSharpOption <TColumnKey> lo, FSharpOption <TColumnKey> hi)
 {
     return(FrameUtils.fromColumns <TRowKey, TColumnKey, ObjectSeries <TRowKey> >(this.indexBuilder, this.vectorBuilder, base.GetSlice(lo, hi)));
 }