Friday 29 September 2017

Fsharp Gleitender Durchschnitt


Im noch auf dem Groking der F-Sache arbeiten - versuchen, herauszufinden, wie in F denken, anstatt nur die Übersetzung aus anderen Sprachen, die ich kenne. Ive vor kurzem denkend über die Fälle, in denen Sie nicht eine 1: 1 Karte zwischen vorher und nach haben. Fälle, in denen List. map fällt. Ein Beispiel hierfür sind gleitende Mittelwerte, wobei in der Regel len-n1 Ergebnisse für eine Liste der Länge len bei Mittelung über n Elemente. Für die Gurus da draußen, ist dies eine gute Möglichkeit, es zu tun (mit der Warteschlange gequetscht von Jomo Fisher) (Vielleicht ein besserer Weg wäre, eine MovingAverageQueue durch Erben von Fifo implementieren), sagte Nov 17 08 um 11:12 Ich hatte zu erklären Wie es MovingAverage n (s. Seqltfloatgt), um diese in einem Utility-Modul, weg von der Call-Site, um das Typ-System zu beruhigen. Soweit ich sagen kann, funktioniert dies nur mit Floats, aufgrund einer Einschränkung von Array. average. MSDN Ansprüche kann ich ersetzen, die mit Array. averageBy, um dies auf eine int-Sequenz, aber das gibt einen anderen Fehler. Brian, können Sie reformulieren diese Antwort, um in generischen Kontexten zu arbeiten, so dass es mit seq-of-any-arithmetic-type, ohne Typpraten arbeiten ndash Warren Young Ich sollte darauf hinweisen, dass meine Notwendigkeit für Diese gleitende Mittelfunktion ist, ein kurzes Fenster (30ish) über einer Folge der ganzen Zahlen zu erhalten, die fast alle in den Millionen sind, also ich don39t Gleitkomma brauchen. Auch eine einzige Stelle rechts vom Dezimalpunkt ist in meiner Anwendung nicht praktikabel. Umwandlung meiner ganzen Zahlen in FP und das Ergebnis zurück zu int nur um die F-Standard-Bibliothek zu beschwichtigen doesn39t appellieren. Ndash Warren Young Wenn Sie kümmern sich um Leistung, dann können Sie berechnen einen gleitenden Durchschnitt effizient mit so etwas (vorausgesetzt waren die Berechnung eines gleitenden Durchschnitt über ein 3-Tage-Fenster) Der harte Teil über dieses hält Auf Ihrer vorherigen laufenden Gesamt - und Anzahl N-Fenster. Ich kam mit dem folgenden Code: Diese Version ist nicht so schön aussehende wie die Haskell-Code, aber es sollte Performance-Probleme mit der Neuberechnung Ihres Fensters bei jedem Lauf zu vermeiden. Es hält eine laufende Summe und hält zuvor verwendeten Zahlen in einer Warteschlange, so sollte es sehr schnell sein. Nur für Spaß, schrieb ich einen einfachen Benchmark: Wenn Sie über Leistung und wie eleganten Code dann versuchen Verwenden Sie FSUnit können wir es testen Der Trick des Algorithmus ist die erste Summe die ersten n-Zahlen und dann eine laufende Summe, indem Sie den Kopf Des Fensters und Subtrahieren des Schwanzes des Fensters. Das Schiebefenster wird erreicht, indem man einen Selbstzip auf der Sequenz ausführt, aber mit dem zweiten Argument zum Zip, das durch die Fenstergröße erweitert wird. Am Ende der Pipeline teilen wir die laufende Summe mit der Fenstergröße auf. Anmerkung scan ist gerade wie Falte aber liefert jede Version des Zustandes in eine Reihenfolge. Eine noch elegantere Lösung, obwohl possibley mit Performance-Hit ist es, die Beobachtung, dass, wenn wir Null-Pad die Sequenz brauchen wir nicht brauchen, um die anfängliche Summe zu berechnen. Es könnte ein Performance-Hit aufgrund der zweiten Indirektion im Zusammenhang mit der Umhüllung der beiden Sequenzen, aber vielleicht ist es nicht signifikant abhängig von der Größe des Fensters beantwortet Aug 31 12 at 08: 06Tomas Petricek Suchen nach neuen Denkweisen in der Programmierung amp Arbeitet mit Daten Ich glaube, dass die interessanteste Arbeit ist nicht die eine Lösung schwerer Probleme, sondern die eine Veränderung, wie wir über die Welt denken. Ich folge diesem Glauben an meine Arbeit an Data-Science-Tools, funktionale Programmierung und F-Lehre, in meiner Programmiersprachenforschung und ich versuche, es durch Philosophie der Wissenschaft zu verstehen. Ich arbeite daran, das datengesteuerte Geschichtenerzählen einfacher, offener und reproduzierbarer im Alan Turing Institute zu machen. Consulting Im Autor der endgültigen F Bücher und Open-soruce Bibliotheken. Ich biete meine F Schulung und Beratung als Teil von fsharpWorks an. Ich veröffentlichte Beiträge über Theorie der kontextbewussten Programmiersprachen, Typ-Provider, sondern auch Philosophie der Wissenschaft. Neue Funktionen und Verbesserungen in Deedle v1.0 Wie Howard Mansell bereits auf dem BlueMountain Tech-Blog angekündigt hat. Haben wir offiziell die Version 1.0 von Deedle veröffentlicht. Falls Sie noch nichts von Deedle gehört haben, ist es eine. NET-Bibliothek für interaktive Datenanalyse und Exploration. Deedle arbeitet großartig mit C und F. Es bietet zwei wichtige Datenstrukturen: Serie für die Arbeit mit Daten und Zeitreihen und Rahmen für die Arbeit mit Sammlungen von Serien (denken CSV-Dateien, Datentabellen etc.) Das große an Deedle ist, dass es Wurde zu einer Grundbibliothek, die es ermöglicht, eine breite Palette unterschiedlicher Datenwissenschaften zu integrieren. Zum Beispiel funktioniert der R-Typ-Anbieter gut mit Deedle und so auch F Charting. Weve arbeitet auch an der Integration all dieser in einem einzigen Paket namens FsLab. Aber mehr über das nächste Mal In diesem Blog-Post, Ill haben einen schnellen Blick auf ein paar neue Features in Deedle (und entsprechende R-Typ Anbieter-Version). Howards Ankündigung hat eine detaillierte Liste. Aber ich möchte nur ein paar Beispiele geben und kurz auf Leistung improvemens kommentieren, die wir getan haben. Was ist neu in Deedle Vielleicht ist der sichtbarste Unterschied in der neuen Version, dass viele der Funktionen umbenannt werden. Wir dachten, dass vor v1.0, hatten wir eine einzigartige Chance, die Benennung Recht zu bekommen, so dass wir eine Menge von Umbenennungen, um sicherzustellen, dass alles konsistent ist. Zum Beispiel, einige Funktionen verwendet Serie und einige Spalte. Einige benutzte Art und andere Ordnung und so weiter. Dies sollte nun aufgeräumt werden. Ebenso haben wir eine Reihe von Fehlanpassungen zwischen den Serien - und Rahmenmodulen festgelegt. Ergänzungen zu Deedle API Neben der Umbenennung haben wir auch einige nützliche Funktionen hinzugefügt. Zum Beispiel vergleicht die Homepage-Probe die Überlebensrate für verschiedene Passagierklassen. Dies kann nun noch einfacher mit PivotTable geschehen: Die Operation gruppiert die Zeilen nach den beiden Schlüsseln und führt dann Aggregation mit der angegebenen Funktion durch (hier Frame. countRows). Dies ist eine gemeinsame Operation und so wollten wir es so einfach wie möglich machen. Wir setzen auch weiterhin Operationen sowohl als F-Funktionen in Modulen als auch als C-freundliche Methoden. Ein weiteres Beispiel, in dem wir viele Verbesserungen vorgenommen haben, ist die Statistik: Die erste Verbesserung ist, dass man nun beim Laden von Daten aus einer CSV-Datei eine Schlüsselspalte angeben kann (dies ist sehr häufig). Die gleiche Funktion ist verfügbar, wenn Sie Daten aus einer Sequenz von. NET-Objekten mit Frame. ofRows laden. Die nächste neue Sache ist das Modul Stats. Dies ist der neue Platz für alle Funktionen in Bezug auf Statistik und numerische Berechnungen. Wir fanden, dass das Hinzufügen weiterer Funktionen zu Series und Frame-Module ein wenig verwirrend war, so dass wir alle statistischen Funktionen an einem Ort verschoben. Dies ist umso wichtiger, da wir weitere Funktionen hinzugefügt haben (Kurtosis, Schiefe, Varianz), und wir haben mehr Möglichkeiten hinzugefügt, diese zu berechnen (Bewegen und Expandieren von Fenstern). Weitere Informationen finden Sie auf der Seite "Frame - und Serienstatistik". Verbesserte Dokumentation Schließlich ist eine der Stärken von Deedle, dass sie eine ausgezeichnete Dokumentation hat. Dies ist jetzt noch mehr der Fall, weil wir die Dokumentation automatisch aus Markdown Kommentare im Quellcode generiert. Insbesondere für die drei Core-Module bietet das Series-Modul Funktionen zum Arbeiten mit einzelnen Datenreihen und Zeitreihenwerten. Dazu gehören Operationen wie Sampling, Transformationen, Datenzugriff und vieles mehr. Frame-Modul bietet Funktionen, die denen des Series-Moduls ähnlich sind, aber auf ganzen Datenrahmen arbeiten. Stats-Modul implementiert standardmäßige statistische Funktionen (Mittelwert, Varianz, Kurtosis, Schiefe usw.) über Serien, bewegliche Fenster, expandierende Fenster und vieles mehr. Das Modul enthält Funktionen für Serien und Rahmen. Was ist neu im R-Anbieter Zusammen mit einem neuen Release von Deedle haben wir auch den R-Provider aktualisiert. Es gibt ein paar Verbesserungen, die es viel besser machen: Die Installation von NuGet nicht mehr auf PowerShell-Installationsskript verlassen, so dass es auf Mono und bei der Verwendung der Restore Packages Funktion arbeiten kann. Der Typ-Provider kommuniziert mit R über einen separaten Prozess, so dass es stabiler ist und es wird uns auch nennen 64-Bit-Version von R. Dies sind technische, aber sehr wichtige Verbesserungen. Allerdings haben wir auch eine nette neue Funktion hinzugefügt, die es noch einfacher macht, R - und F-RData-Provider zu mischen. In R können Sie Arbeitsbereiche (Umgebungen) in. rdata-Dateien speichern. Dies ist nützlich, wenn Sie Ergebnisse einer interaktiven Analyse in der R-Umgebung archivieren möchten. Aber, wäre es nicht schön, wenn Sie könnten einige Datenanalyse in R und dann speichern Sie die Daten in eine Datei und laden Sie es einfach aus F in einer Art-sicheren Weg Dies ist genau das, was Sie mit dem RData-Typ-Anbieter zu bekommen Haben Autos. rdata-Datei mit dem mtcars-Datensatz (gespeichert unter dem Namen Autos) zusammen mit einer Liste mpg und einem Wert mpgMean. Ich kann schreiben: Wenn Sie die Typen betrachten, sehen youll, dass file. mpg vom Typ float ist und file. cars vom Typ Frameltstring, stringgt ist. Der R-Provider verwendet die installierten Plugins (wie das Deedle-Plugin), um den passendsten F-Typ für die Belichtung der Daten zu finden, und so werden die R-Datenrahmen-Autos automatisch als Deedle-Rahmen belichtet. Auf diese Weise können wir die Werte schnell durch cyl (Anzahl der Zylinder) gruppieren und dann durchschnittliche Meilen pro Gallone mpg für jede der Gruppen berechnen. Mit F Charting sieht das Ergebnis so aus: Deedle Performance-Verbesserungen In dieser Version von Deedle verbrachten wir einige Zeit mit der Verbesserung der Performance. Die erste Version wurde unter Berücksichtigung der Leistungsfähigkeit entworfen, und die Internals ermöglichen es, Operationen effizient zu implementieren (z. B. in F, es ist ziemlich einfach, Code zu schreiben, so daß die Daten in kontinuierlichen Speicherblöcken gespeichert werden). Allerdings gab es eine Reihe von Orten, wo einige Deedle-Funktion nur die einfachste dumme Art und Weise, um Dinge zu erledigen verwendet. Das war schön, denn es ließ uns schnell eine anspruchsvolle und einfach zu bedienende API zu bauen, aber es gab Fälle, wo die Dinge waren einfach zu langsam. Also, die Verbesserung der Leistung ist eine kontinuierliche Anstrengung und wenn Sie einen Anwendungsfall finden, in dem Deedle langsam ist, senden Sie bitte ein Problem Messleistung Um sicherzustellen, dass wir die Leistung überwachen können, habe ich ein recht einfaches Tool, mit dem wir die Leistung messen können. Dies ist derzeit in meiner Branche verfügbar. Das Tool wird über ein FAKE-Skript gestartet und misst die Performance aller Tests in einer angegebenen Datei. Die Tests dienen auch als Einheitstests. Beispiel: Das PerfTest-Attribut gibt an, dass es sich bei der Funktion um einen Leistungstest handelt. Außerdem können Sie die Anzahl der Iterationen festlegen, sodass wir schnelle Tests wiederholt ausführen, aber nur wenige Male langsame Tests durchführen. Absolute Performance Ich habe zwei einfache Analysen der Performance. Das erste Diagramm vergleicht die neue Version von Deedle mit der vorherigen Version, die auf NuGet verfügbar ist: Die Zahlen stellen die Gesamtzahl der Millisekunden dar, die zum Ausführen des Tests benötigt werden. Beachten Sie, dass die X-Achse auf 10 Sekunden begrenzt ist, aber einige der Tests tatsächlich länger dauern, mit der alten Version. Auch einige Tests haben nur Wert, wenn Sie die neue Version verwenden - das ist, weil sie Funktion verwenden, die neu in v1.0 ist. Ein paar Punkte erwähnenswert: Einige der bemerkenswerten Verbesserungen sind beim Zusammenführen von Serien - dies gilt auch für die Verbindung von Rahmen (z. B. bei der Anwendung numerischer Operationen). Wir haben auch eine Überladung von Merge auf Frames hinzugefügt, die mehrere Serien gleichzeitig verschmelzen können, was bedeutend schneller ist (und Sie können z. B. 1000 Frames zusammenführen, die vorher zu langsam waren). Es gibt eine Reihe von Verbesserungen in Resample-Operationen. Auch dies ist nur ein Beispiel für eine allgemeinere Beschleunigung (die auch Auswirkungen auf Fenster-und Chunking-Funktionen). Relative Performance In der vorherigen Tabelle ist es ein bisschen schwierig zu sehen, was ist die größte Performance-Verbesserung. In der folgenden Tabelle werden die Tests skaliert, so dass die Leistung, die die ursprüngliche Version (0.9.12) verwendet, als 100 verwendet wird und die Leistung, die die neue Version verwendet, als Prozentsatz angezeigt wird (so schneiden 10sek bis 5sec zeigt als 50) Können Sie eine Reihe von interessanten Dingen zu sehen: Der größte Speedup ist auf Zugreifen auf Float-Serie über Objekt-Serie. Dies ist der Fall, wenn Sie eine Spalte auf einem Rahmen mit df. Columns (die eine Reihe von ObjectSeriesltKgt-Werten zurückgibt) zugreifen. Weil wir die Art der einzelnen Spalten nicht kennen, geben wir sie als Serie mit obj-Werten zurück. In der neuen Version, dies nicht wirklich Box die Werte und so die Umwandlung der Serie zurück zu SeriesltK, ist Floatgt im Wesentlichen no-op. Wir haben auch einige Arbeiten zur Verbesserung der Gruppierung (und damit verbundenen) Operationen, so, zum Beispiel die Homepage-Probe ist jetzt etwa doppelt so schnell. Es gibt noch (viel) Raum für Verbesserungen, aber wie Sie sehen können, waren hart daran arbeiten. Die Beitritts - und Zusammenführungsoperationen sind etwa 6x schneller, aber für Merge ist dies umso bedeutsamer, wenn man mehrere Frames zusammenführt. Die Tests, die ich hier aufgenommen habe, sind keineswegs umfassend. Sie stellen einfach ein paar Testfälle dar, an denen ich gearbeitet habe. Allerdings mit der Performance-Messungen vorhanden, sollten wir in der Lage, diese immer öfter verwenden Also, wenn Sie einen interessanten Anwendungsfall haben, senden Sie eine Pull-Anforderung Hinzufügen eines Leistungstests Die Version 1.0 von Deedle ist ein wichtiger Meilenstein. Obwohl Deedle seit November ist (und es wurde intern von BlueMountain verwendet), bedeutet die Version 1.0, dass die Bibliothek wird immer stabiler und bereit für andere zu übernehmen. Natürlich gibt es immer Raum für Verbesserungen. Es gibt Operationen, die schneller (bitte melden Sie sie), gibt es Funktionen, die hinzugefügt werden sollten (bitte vorschlagen) und es gibt wahrscheinlich einige Bugs. Ich markierte einige Probleme als up-for-Grabs, falls Sie direkt beitragen wollten. Eine weitere wichtige Sache über Deedle ist, dass es eine grundlegende Komponente ist, um die wir einen genialen. NET Datenwissenschaftsstapel erstellen können. Wenn Sie interessiert sind, registrieren Sie sich bei fslab. org und folgen Sie diesem Blog für weitere Informationen. Es gibt viele Leute, die zu Deedle (und R-Anbieter) beigetragen haben, aber die Projekte würden nicht ohne Howard Mansell und Adam Klein bei BlueMountain existieren. Viele der R-Anbieter Arbeit wurde von David Charboneau getan. Danke Art Umfeld 160160Statisches Mitglied CommandLine. Zeichenfolge 160160static member CurrentDirectory. Zeichenfolge mit get, set 160160static member Exit. ExitCode: int - gt Einheit 160160static Member ExitCode. Int mit get, set 160160static Member ExpandEnvironmentVariables. Name: Zeichenfolge - gt string 160160static member FailFast. Message: string - gt Einheit 1 Überladung 160160static member GetCommandLineArgs. Einheit - gt string 160160static member GetEnvironmentVariable. Variable: string - gt string 1 Überladung 160160static member GetEnvironmentVariables. Einheit - gt IDictionary 1 overload 160160static member GetFolderPath. Folder: SpecialFolder - gt string 1 overload 160160. 160160nested type SpecialFolder 160160nested Typ SpecialFolderOption Vollständiger Name: System. Environment-Eigenschaft System. Environment. CurrentDirectory: string Mehrere Elemente namespace FSharp val shouldEqual. A: 39a - gt b: 39b - gt Einheit val titanic. Frameltint, stringgt Vollständiger Name: Deedle-v1.titanic Mehrere Elemente module Frame -------------------- type Frame 160160static member ReadReader. Leser: IDataReader - gt Frameltint, stringgt 160160static Mitglied CustomExpanders. DictionaryltType, Funcltobj, seqltstring Typ objgtgtgt 160160Statistisches Mitglied NonExpandableInterfaces. ListltTypegt 160160Statistisches Mitglied NonExpandableTypes. HashSetltTypegt Vollständiger Name: Deedle. Frame -------------------- type Framelt39TRowKey, 39TColumnKey (erfordert Gleichheit und Gleichheit) gt 160160interface IDynamicMetaObjectProvider 160160interface INotifyCollectionChanged 160160interface IFsiFormattable 160160interface IFrame 160160new. Namen: seqlt39TColumnKeygt Spalten: seqltISerieslt39TRowKeygtgt - gt Framelt39TRowKey, 39TColumnKeygt 160160private neu. RowIndex: IIndexlt39TRowKeygt columnIndex: IIndexlt39TColumnKeygt-Daten: IVectorltIVectorgt - gt Framelt39TRowKey, 39TColumnKeygt 160160member AddColumn. Spalte: 39TColumnKey-Serie: ISerieslt39TRowKeygt - gt Einheit 160160Mit AddColumn. Säule: 39TColumnKey Serie: seqlt39Vgt - gt Einheit 160160Mit AddColumn. Column: 39TColumnKey-Serie: ISerieslt39TRowKeygt Nachschlagen: Lookup - gt Einheit 160160member AddColumn. Spalte: 39TColumnKey-Serie: seqlt39Vgt Lookup: Lookup - gt Einheit 160160. Vollständiger Name: Deedle. Framelt, gt -------------------- neu. Namen: seqlt39TColumnKeygt Spalten: seqltISerieslt39TRowKeygtgt - gt Framelt39TRowKey, 39TColumnKeygt statischer Member Frame. ReadCsv. Pfad: string hasHeaders: bool inferTypes: bool inferRows: int Schema: String-Trennzeichen: String-Kultur: string maxRows: int - gt Frameltint, stringgt statischer Member Frame. ReadCsv. Stream: IO. Stream hasHeaders: bool inferTypes: bool inferRows: int Schema: String-Trennzeichen: String-Kultur: string maxRows: int - gt Frameltint, stringgt statischen Member Frame. ReadCsv. Pfad: String indexCol: String hasHeaders: bool inferTypes: bool inferRows: int Schema: String-Trennzeichen: String-Kultur: String maxRows: int - gt Framelt39R, stringgt (erfordert Gleichheit) val pivotTable. RowGrp: (39R - gt ObjectSerieslt39Cgt - gt 39RNew) - gt colGrp: (39R - gt ObjectSerieslt39Cgt - gt 39CNew) - gt auf: (Framelt39R, 39Cgt - gt 39T) - gt Rahmen: Framelt39R, 39Cgt - gt Framelt39RNew, 39CNewgt (erfordert Gleichheit und Gleichheit und Gleichheit und Gleichheit) Vollständiger Name: Deedle. Frame. pivotTable val row. ObjectSeriesltstringgt Member ObjectSeries. GetAs. Spalte: 39K - gt 39R Member ObjectSeries. GetAs. Column: 39K fallback: 39R - gt 39R Mehrere Elemente val string. Value: 39T - gt string Vollständiger Name: Microsoft. FSharp. Core. Operators. string Vollständiger Name: Microsoft. FSharp. Core. string Typ bool Boolean Vollständiger Name: Microsoft. FSharp. Core. bool val countRows. Frame: Framelt39R, 39Cgt - gt int (erfordert Gleichheit und Gleichheit) Vollständiger Name: Deedle. Frame. countRows statischer Member FrameExtensions. PivotTable. Rahmen: Framelt39R, 39Cgt r: 39C c: 39C op: FuncltFramelt39R, 39Cgt, 39Tgt - gt Framelt39R, 39Cgt (erfordert Gleichheit und Gleichheit) member Frame. PivotTable. R: 39TColumnKey c: 39TColumnKey op: (Framelt39TRowKey, 39TColumnKeygt - gt 39T) - gt Framelt39R, 39Cgt (erfordert Gleichheit und Gleichheit und Gleichheit und Gleichheit) val msft. FrameltDateTime, stringgt Vollständiger Name: Deedle-v1.msft Mehrere Elemente Typ DateTime 160160struct 160160160160new. Ticks: int64 - gt DatumTime 10 Überladungen 160160160160member Hinzufügen. Wert: TimeSpan - gt DatumTime 160160160160Member AddDays. Wert: float - gt DatumTime 160160160160Mit AddHours. Wert: float - gt DatumTime 160160160160Member AddMilliseconds. Wert: float - gt DateTime 160160160160Mitglieder hinzufügen AddMinutes. Wert: float - gt DatumTime 160160160160member AddMonths. Monate: int - gt DatumTime 160160160160Member AddSeconds. Wert: float - gt DatumTime 160160160160Mit AddTicks. Wert: int64 - gt DatumTime 160160160160Member AddJahre. Wert: int-Date Datum 160160160160. 160160end Vollständiger Name: System. DateTime -------------------- DateTime () 160160160 (0 andere Überladungen) DateTime (ticks: int64) . Einheit 160160160 (0 andere Überladungen) DateTime (ticks: int64, art: DateTimeKind). Einheit 160160160 (0 andere Überladungen) DateTime (Jahr: int, Monat: int, Tag: int). Einheit 160160160 (0 andere Überladungen) DateTime (Jahr: int, Monat: int, Tag: int, Kalender: Globalization. Calendar). Einheit 160160160 (0 andere Überladungen) DatumTime (Jahr: int, Monat: int, Tag: int, Stunde: int, minute: int, second: int). Einheit 160160160 (0 andere Überladungen) DateTime (Jahr: int, Monat: int, Tag: int, Stunde: int, minute: int, second: int, kind: DateTimeKind). Einheit 160160160 (0 andere Überladungen) DateTime (Jahr: int, Monat: int, Tag: int, Stunde: int, minute: int, second: int, calendar: Globalization. Calendar). Einheit 160160160 (0 andere Überladungen) DatumTime (Jahr: int, Monat: int, Tag: int, Stunde: int, minute: int, second: int, millisecond: int). Einheit 160160160 (0 andere Überladungen) DatumTime (Jahr: int, Monat: int, Tag: int, Stunde: int, minute: int, second: int, millisecond: int, kind: DateTimeKind). Einheit 160160160 (0 Andere Überladungen) type Statistiken 160160static member count. Rahmen: Framelt39R, 39Cgt - gt Serieslt39C, intgt (erfordert Gleichheit und Gleichheit) 160160static Member count. Serie: Serieslt39K, 39Vgt - gt int (erfordert Gleichheit) 160160static member expandingCount. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static member expandingKurt. Reihe: Serielt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static Mitglied expandingMax. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static Member expandingMean. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static Member expandingMin. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static Mitglied expandingSkew. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static Member expandingStdDev. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160static member expandingSum. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) 160160. Vollständiger Name: Deedle. Stats statisches Mitglied Stats. movingVariance. Größe: int - gt-Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) statisches Mitglied Stats. expandingMean. Serie: Serieslt39K, floatgt - gt Serieslt39K, floatgt (erfordert Gleichheit) statisches Mitglied Stats. kurt. Rahmen: Framelt39R, 39Cgt - gt Serieslt39C, floatgt (erfordert Gleichheit und Gleichheit) statisches Mitglied Stats. kurt. Serie: Serieslt39K, floatgt - gt float (erfordert Gleichheit) Vollständiger Name: Deedle-v1.file Vollständiger Name: Deedle-v1.mean1 Typ Array 160160member Clone. Einheit - gt obj 160160Member CopyTo. Array: Array-Index: int - gt Einheit 1 Überlast 160160Member GetEnumerator. Einheit - gt IEnumerator 160160member GetLength. Dimension: int - gt int 160160Member GetLongLength. Größe: int - gt int64 160160Member GetLowerBound. Dimension: int - gt int 160160Member GetUpperBound. Dimension: int - gt int 160160member GetValue. LtParamArraygt-Indizes: int - gt obj 7 Überladungen 160160member Initialisieren. Einheit - gt Einheit 160160Mit IsFixedSize. Bool 160160. Vollständiger Name: System. Array val Durchschnitt. Array: 39T - gt 39T (erfordert Member () und Member DivideByInt und Member getZero) Vollständiger Name: Microsoft. FSharp. Collections. Array. average Vollständiger Name: Deedle-v1.mean2 val groupRowsByInt. Spalte: 39C - gt Rahmen: Framelt39R, 39Cgt - gt Framelt (int 39R), 39Cgt (erfordert Gleichheit und Gleichheit) Vollständiger Name: Deedle. Frame. groupRowsByInt val getCol. Spalte: 39C - gt Rahmen: Framelt39R, 39Cgt - gt Serieslt39R, 39Vgt (erfordert Gleichheit und Gleichheit) Vollständiger Name: Deedle. Frame. getCol statisches Mitglied Stats. levelMean. Ebene: (39K - gt 39L) - gt Serie: Serieslt39K, floatgt - gt Serieslt39L, floatgt (erfordert Gleichheit und Gleichheit) val fst. Tuple: (39T1 39T2) - gt 39T1 Vollständiger Name: Microsoft. FSharp. Core. Operators. fst Mehrere Elemente Modul Serie -------------------- Typ Serie 160160static Mitglied vonNullables . Werte: seqltNullablelt39a0gtgt - gt Seriesltint, 39a0gt (benötigt Standardkonstruktor und Werttyp und 39a0: gt ValueType) 160160static Member ofObservations. Beobachtungen: seqlt39a0 39a1gt - gt Serieslt39a0,39a1gt (erfordert Gleichheit) 160160static member ofOptionalObservations. Beobachtungen: seqlt39K 39a1 optiongt - gt Serieslt39K, 39a1gt (erfordert Gleichheit) 160160static Mitglied vonValues. Werte: seqlt39a0gt - gt Seriesltint, 39a0gt Vollständiger Name: Deedle. FSharpSeriesExtensions. Series -------------------- type Serieslt39K, 39V (erfordert Gleichheit) gt 160160interface IFsiFormattable 160160interface ISerieslt39Kgt 160160new . Paare: seqltKeyValuePairlt39K, 39Vgtgt - gt Serieslt39K, 39Vgt 160160new. Tasten: seqlt39Kgt Werte: seqlt39Vgt - gt Serieslt39K, 39Vgt 160160new. Index: IIndexlt39Kgt vector: IVectorlt39Vgt vectorBuilder: IVectorBuilder Indexbuilder: IIndexBuilder - gt Serieslt39K, 39Vgt 160160member Nach. LowerExclusive: 39K - gt Serieslt39K, 39Vgt 160160Member Aggregate. Aggregation: Aggregationlt39Kgt observationSelector: FuncltDataSegmentltSerieslt39K, 39Vgtgt, KeyValuePairlt39TNewKey, OptionalValuelt39Rgtgtgt - gt Serieslt39TNewKey, 39Rgt (erfordert Gleichheit) 160160member Aggregate. Aggregation: Aggregationlt39Kgt keySelector: FuncltDataSegmentltSerieslt39K, 39Vgtgt, 39TNewKeygt valueSelector: FuncltDataSegmentltSerieslt39K, 39Vgtgt, OptionalValuelt39Rgtgt - gt Serieslt39TNewKey, 39Rgt (erfordert Gleichheit) 160160member AsyncMaterialize. Einheit - gt AsyncltSerieslt39K, 39Vgtgt 160160Member vorher. upperExclusive: 39K - gt Serieslt39K, 39Vgt 160160. Vollständiger Name: Deedle. Serieslt, gt -------------------- neu. Paare: seqltCollections. Generic. KeyValuePairlt39K, 39Vgtgt - gt Serieslt39K, 39Vgt neu. Tasten: seqlt39Kgt Werte: seqlt39Vgt - gt Serieslt39K, 39Vgt neu. Index: Indices. IIndexlt39Kgt vector: IVectorlt39Vgt vectorBuilder: Vectors. IVectorBuilder Indexbuilder: Indices. IIndexBuilder - gt Serieslt39K, 39Vgt val Beobachtungen. Serie: Serieslt39K, 39Tgt - gt seqlt39K 39Tgt (erfordert Gleichheit) Vollständiger Name: Deedle. Series. observations val r1. Seriesltint, floatgt Vollständiger Name: Deedle-v1.r1 val Serie. Beobachtungen: seqlt39a 39bgt - gt Serieslt39a, 39bgt (erfordert Gleichheit) Vollständiger Name: Deedle. FSharpSeriesExtensions. series val r2. Seriesltint, floatgt Vollständiger Name: Deedle-v1.r2 val r3. Seriesltint, floatgt Vollständiger Name: Deedle-v1.r3 val (Merge 3 ungeordnete 300k lange Serie (wiederholen Merge)). Unit - gt unit Vollständiger Name: Deedle-v1 (Merge 3 ungeordnete 300k lange Serie (wiederholen Merge)) member Series. Merge. LtParamArraygt otherSeries: Serieslt39K, 39Vgt - gt Serieslt39K, 39Vgt Mitglied Series. Merge. OtherSeries: seqltSerieslt39K, 39Vgtgt - gt Serieslt39K, 39Vgt Mitglied Series. Merge. OtherSeries: Serieslt39K, 39Vgt - gt Serieslt39K, 39Vgt Mitglied Series. Merge. Ein anderes: Serieslt39K, 39Vgt Verhalten: UnionBehavior - gt Serieslt39K, 39Vgt

No comments:

Post a Comment