<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich höre immer mehr von Ingenieuren, die Python auf ihren Desktops haben, zusätzlich zu den anderen komplementären Analysewerkzeugen, die wir kennen: MATLAB, R, SAS usw. Wir haben noch keine spezifische Schnittstelle zu Python, wie wir es für diese anderen Softwareprogramme tun, aber ich bin sehr daran interessiert, das Interesse zu messen. (Aber keine Versprechen!)
Ich wäre gespannt, ob einer Ihrer Kunden:
- Derzeit wird Python zur Lösung einiger Analyseprobleme verwendet.
- Derzeit hat Python in ihrer analytischen Toolbox.
- Derzeit gibt es Probleme mit der Verwendung von Python, die möglicherweise durch JMP ergänzt werden - DOE, einfache Datenvisualisierung, Optimierung von Simulationsmodellen, UI-Design usw.
Ich denke, dass Python ist kein Konkurrent zu JMP - eine allgemeine Programmiersprache. Obwohl bei einigen IDEs, die für wissenschaftliche und technische Zwecke bestimmt sind (z Anaconda), könnte in einigen Fällen als Konkurrent angesehen werden. Ich arbeite an einigen Positionen und Gedanken. Bitte zögern Sie nicht, Kommentare und Vorschläge zu machen.
Python ist eine beliebte Allzweck-Programmiersprache, die sich für eine Vielzahl von Problemen eignet.
Python - mit den richtigen Add-Ons - ist vergleichbar mit domänenspezifischen Sprachen wie R oder MATLAB. Wenn Sie sich fragen, ob Sie sich mit Python (oder einer anderen Sprache) befassen sollten, sollten Sie Folgendes berücksichtigen:
Vielleicht möchten Sie R in Betracht ziehen, wenn:
• Sie möchten statistische Methoden anwenden. Die Statistikbibliothek von R ist unübertroffen, und R steht bei der Entwicklung neuer statistischer Algorithmen eindeutig an vorderster Front. Dies bedeutet, dass Sie das neue (ish) -Verfahren wahrscheinlich in R finden.
• Leistung ist von untergeordneter Bedeutung.
• Frei ist wichtig.
Vielleicht möchten Sie MATLAB in Betracht ziehen, wenn:
• Kommerzielle Unterstützung und ein sauberer Kanal zum Melden von Problemen sind wichtig.
• Die Dokumentation und Organisation von Modulen ist wichtiger als die Verfügbarkeit von Routinen.
• Die Leistung ist wichtiger als der Umfang der verfügbaren Pakete. MATLAB verfügt über Optimierungen wie die Just-in-Time-Kompilierung (JIT) von Schleifen, die in den meisten anderen Paketen nicht automatisch verfügbar ist.
Nachdem Sie die Gründe für die Wahl eines anderen Pakets gelesen haben, fragen Sie sich möglicherweise, warum Sie Python in Betracht ziehen sollten.
• Sie benötigen eine Sprache, die als End-to-End-Lösung fungieren kann, damit der Zugriff auf webbasierte Dienste und Datenbankserver, die Datenverwaltung und -verarbeitung sowie die statistische Berechnung in einer einzigen Sprache erfolgen können. Mit Python können sogar serverseitige Apps wie dynamische Websites geschrieben werden (siehe z http://stackoverflow.com ), Apps für Desktop-Betriebssysteme mit grafischen Benutzeroberflächen und sogar Apps für Tablets und Telefone (iOS und Android).
• Datenhandhabung und -manipulation - insbesondere Bereinigung und Neuformatierung - sind ein wichtiges Anliegen. Python ist beim Aufbau von Datensätzen wesentlich leistungsfähiger als R oder MATLAB.
• Leistung ist ein Problem, steht jedoch nicht ganz oben auf der Liste.
• Frei ist ein wichtiger Gesichtspunkt - Python kann frei bereitgestellt werden, sogar auf 100 Servern in einem Computercluster oder in der Cloud (z. B. Amazon Web Services oder Azure).
• Kenntnisse in Python als Allzwecksprache ergänzen andere Sprachen.
Die Frage ist also, wohin passt JMP?
• JMP verfügt über erstklassige DOE-Tools (Design of Experiments) (Custom Design, DSDs, Covering Arrays, Space-Filling-Designs), die in Python-Paketen einfach nicht verfügbar sind. Die Synergie besteht darin, JMP zu verwenden, um die Experimente zu erstellen, die zum Ausführen einer Simulation oder eines Programms in Python erforderlich sind, die Antworten zu sammeln und dann die Analyse in JMP durchzuführen.
• Erkundungstools zum schnellen Anzeigen von Daten, die aus Python-Programmen generiert wurden. Erstellen Sie schnell Diagramme mit dem Graph Builder oder benutzerdefinierte Dashboards mit dem Application Builder.
• Zugriff auf viele der leistungsstärksten Modellierungswerkzeuge in JMP und JMP Pro, um aus den in Python-Programmen generierten Daten schnell einen Sinn zu machen.
• Simulieren Sie effizienter mit der Versuchsplanung, optimieren Sie mehrere Antworten und führen Sie Kompromissanalysen durch. Führen Sie weitere Monte-Carlo-Simulationen durch.
JMP und Python sind zwar nicht so integriert wie die JMP-Schnittstelle zu MATLAB und R, können jedoch auf den Desktops von Ingenieuren ausgeführt werden und bieten die Möglichkeit, mehr an einem Tag zu erledigen als nur Python.
Dan,
Ein Interessent hat mich gefragt, ob ich heute JMP mit Python verwenden möchte. Ich hatte nur ein kurzes Telefongespräch mit ihm und werde in ein paar Wochen bei meinem Treffen mit ihm mehr erfahren. Es hört sich jedoch so an, als würde sein Unternehmen Python hauptsächlich zum Kompilieren / Umstrukturieren von Daten verwenden. (Ich schien mich an einen Thread über Python in der JMP SE-Community zu erinnern, und so bin ich hier gelandet.)
Erich
Hallo, Daniel,
Ich hatte einmal einen Demo-Download-Kunden (privat) gefragt, ob JMP mit Python interagiert. Hier ist die Frage, die er gestellt hat:
- Ich würde eine SQL-Abfrage direkt von Ihrem Builder erstellen, aber ich würde dann die SQL dynamisch aus meinem Hauptprogramm von Python verwenden. Könnten Sie bitte erklären, wie Python mit JMP interagieren kann? Ist es möglich, die JMP-Abfrage zu extrahieren und die SQL-Ausgabe in meinem Python-Programm zu verwenden?
Antwort, die ich ihm nach einem Gespräch mit Eric gegeben habe: Sie können eine Abfrage mit dem Abfrage-Generator in JMP erstellen und das SQL-Skript speichern, um es an anderer Stelle zu verwenden. Natürlich müssten Sie eine Verbindung von Ihrem Hauptprogramm zu der Datenbank herstellen, für die Sie das Abfrageskript verwenden möchten
In diesem Fall ging es also darum, eine Routine zu automatisieren. Hier kenne ich Python, weil es häufig verwendet wird: Sie erstellen eine Website mit mehreren Aufgaben, die Sie ausführen können. Ich habe von diesem Kunden keine weiteren Details erhalten und er hat JMP nicht gekauft, aber das kann Ihnen weiterhelfen.
Martin
Ich bekomme Kunden gefragt, ob JMP in Python integriert ist. Ich habe nicht nach dem Grund gesucht, warum sie es wollen, aber ich denke, es sind eher bewegende Daten als Analysen. Ich werde weitere Fragen stellen, wenn ich das nächste Mal darauf stoße. Es wäre ein "nice to have" für sie gewesen, hat sie aber nicht davon abgehalten, JMP zu wollen.