Umwandlung von Pandas DataFrame in Orange Table

8

Ich stelle fest, dass dies schon ein Problem auf GitHub ist . Hat jemand Code, der einen Pandas DataFrame in eine Orange Table konvertiert?

Ich habe explizit die folgende Tabelle.

%Vor%     
hlin117 12.10.2014, 00:29
quelle

4 Antworten

17

Die Dokumentation von Orange Paket hat nicht alle Details abgedeckt. Table._init__(Domain, numpy.ndarray) funktioniert nur für int und float gemäß lib_kernel.cpp .

Sie sollten wirklich eine C-Level-Schnittstelle für pandas.DataFrames oder mindestens numpy.dtype("str") support bereitstellen.

Update : Das Hinzufügen von table2df , df2table wurde durch die Verwendung von numpy für int und float erheblich verbessert.

Behalten Sie dieses Stück Skript in Ihren orangefarbenen Python-Skript-Sammlungen, jetzt sind Sie mit Pandas in Ihrer orangefarbenen Umgebung ausgestattet.

Verwendung : a_pandas_dataframe = table2df( a_orange_table ) , a_orange_table = df2table( a_pandas_dataframe )

Hinweis : Dieses Skript funktioniert nur in Python 2.x, siehe @DustinTangs Antwort für Python 3.x kompatibles Skript.

%Vor%     
TurtleIzzy 19.10.2014, 01:33
quelle
2

Um pandas DataFrame in Orange Table zu konvertieren, müssen Sie eine Domain erstellen, die die Spaltentypen spezifiziert.

Bei kontinuierlichen Variablen müssen Sie nur den Namen der Variablen angeben, aber für diskrete Variablen müssen Sie auch eine Liste aller möglichen Werte angeben.

Der folgende Code erstellt eine Domain für Ihren Dataframe und konvertiert sie in eine orange Tabelle:

%Vor%

Der Schritt map (str, row) wird benötigt, damit Orange weiß, dass die Daten Werte von diskreten Features enthalten (und nicht die Indizes von Werten in der Werteliste).

    
astaric 18.10.2014 15:38
quelle
2
___ qstntxt ___

Ich stelle fest, dass dies schon ein Problem auf GitHub ist . Hat jemand Code, der einen Pandas DataFrame in eine Orange Table konvertiert?

Ich habe explizit die folgende Tabelle.

%Vor%     
___ answer26446366 ___

Die Dokumentation von Orange Paket hat nicht alle Details abgedeckt. %code% funktioniert nur für %code% und %code% gemäß %code% .

Sie sollten wirklich eine C-Level-Schnittstelle für %code% oder mindestens %code% support bereitstellen.

Update : Das Hinzufügen von %code% , %code% wurde durch die Verwendung von numpy für int und float erheblich verbessert.

Behalten Sie dieses Stück Skript in Ihren orangefarbenen Python-Skript-Sammlungen, jetzt sind Sie mit Pandas in Ihrer orangefarbenen Umgebung ausgestattet.

Verwendung : %code% , %code%

Hinweis : Dieses Skript funktioniert nur in Python 2.x, siehe @DustinTangs Antwort für Python 3.x kompatibles Skript.

%Vor%     
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123pandas ___ Pandas ist eine Python-Bibliothek für die Manipulation und Analyse von Panel-Daten, z. multidimensionale Zeitreihen- und Querschnittsdatensätze, die häufig in Statistiken, experimentellen wissenschaftlichen Ergebnissen, Ökonometrie oder Finanzen zu finden sind. WICHTIG: Wenn Sie eine Frage mit diesem Tag stellen, markieren Sie bitte Ihre Fragen (in dieser Reihenfolge): [tag: python]; [tag: pandas]; [Etikett: Datenrahmen] / [Etikett: Serie]; (optional) [tag: groupby] / [tag: merge] / etc., abhängig von Ihren spezifischen Anforderungen. ___ answer26420035 ___

So etwas?

%Vor%

Die Spalten in Orange erhalten generische Namen (a1, a2 ...). Wenn Sie die Namen und Typen aus dem Datenrahmen kopieren möchten, erstellen Sie das Objekt Orange.data.Domain ( Ссылка init ) aus dem Datenrahmen und übergeben Sie es als erstes Argument oben.

Siehe die Konstruktoren in Ссылка .

    
___ tag123dataframe ___ Ein Datenrahmen ist eine tabellarische Datenstruktur. Normalerweise enthält es Daten, bei denen Zeilen Beobachtungen und Spalten verschiedene Variablen sind. Während "data frame" oder "dataframe" für dieses Konzept in mehreren Sprachen verwendet wird (R, Apache Spark, deedle, Maple, die Pandas-Bibliothek in Python und die DataFrames-Bibliothek in Julia), ist "Tabelle" der in MATLAB und SQL. ___ qstnhdr ___ Umwandlung von Pandas DataFrame in Orange Table ___ tag123orange ___ Orange ist eine komponentenbasierte Data-Mining- und Machine-Learning-Software-Suite, die ein benutzerfreundliches, aber leistungsstarkes und flexibles visuelles Frontend für die explorative Datenanalyse und -visualisierung bietet. Es umfasst umfassende Komponenten für die Datenvorverarbeitung, Feature-Scoring und -Filterung, Modellierung, Modellbewertung und verschiedene Explorationstechniken. ___ answer26441494 ___

Um pandas DataFrame in Orange Table zu konvertieren, müssen Sie eine Domain erstellen, die die Spaltentypen spezifiziert.

Bei kontinuierlichen Variablen müssen Sie nur den Namen der Variablen angeben, aber für diskrete Variablen müssen Sie auch eine Liste aller möglichen Werte angeben.

Der folgende Code erstellt eine Domain für Ihren Dataframe und konvertiert sie in eine orange Tabelle:

%Vor%

Der Schritt map (str, row) wird benötigt, damit Orange weiß, dass die Daten Werte von diskreten Features enthalten (und nicht die Indizes von Werten in der Werteliste).

    
___
DustinTang 01.07.2017 10:16
quelle
1

So etwas?

%Vor%

Die Spalten in Orange erhalten generische Namen (a1, a2 ...). Wenn Sie die Namen und Typen aus dem Datenrahmen kopieren möchten, erstellen Sie das Objekt Orange.data.Domain ( Ссылка init ) aus dem Datenrahmen und übergeben Sie es als erstes Argument oben.

Siehe die Konstruktoren in Ссылка .

    
JanezD 17.10.2014 07:29
quelle

Tags und Links