Viele Leute verwenden ein Hauptwerkzeug wie Excel oder ein anderes Arbeitsblatt, SPSS, Stata oder R für ihre Statistikanforderungen. Sie können sich für ganz spezielle Anforderungen an ein bestimmtes Paket wenden, aber eine Menge Dinge können mit einer einfachen Tabelle oder einem allgemeinen Statistikpaket oder einer Statistikprogrammierumgebung erledigt werden.
Ich mochte Python immer als Programmiersprache und für einfache Bedürfnisse ist es einfach, ein kurzes Programm zu schreiben, das berechnet, was ich brauche. Matplotlib erlaubt es mir, es zu zeichnen.
Hat jemand komplett von, sagen wir R, zu Python gewechselt? R (oder ein beliebiges anderes Statistikpaket) verfügt über zahlreiche statistikspezifische Funktionen und Datenstrukturen, mit denen Sie über die Statistiken nachdenken können, die Sie ausführen möchten, und weniger über die interne Darstellung Ihrer Daten. Mit Python (oder einer anderen dynamischen Sprache) kann ich in einer vertrauten Hochsprache programmieren und programmgesteuert mit realen Systemen interagieren, in denen sich die Daten befinden oder in denen ich Messungen durchführen kann. Aber ich habe kein Python-Paket gefunden, mit dem ich Dinge mit "statistischer Terminologie" ausdrücken könnte - von einfachen beschreibenden Statistiken bis zu komplizierteren multivariaten Methoden.
Was können Sie empfehlen, wenn ich Python als "Statistik-Workbench" verwenden wollte, um R, SPSS usw. zu ersetzen?
Was würde ich aufgrund Ihrer Erfahrung gewinnen und verlieren?
Antworten:
Es ist schwer, die Fülle der in R / CRAN verfügbaren Statistikpakete zu ignorieren. Trotzdem verbringe ich viel Zeit im Pythonland und würde niemanden davon abhalten, so viel Spaß zu haben wie ich. :) Hier sind einige Bibliotheken / Links, die Sie für statistische Arbeiten nützlich finden könnten.
NumPy / Scipy Sie kennen diese wahrscheinlich bereits. Lassen Sie mich jedoch auf das Kochbuch verweisen, in dem Sie über viele bereits verfügbare statistische Funktionen und die Beispielliste lesen können, die eine hervorragende Referenz für Funktionen (einschließlich Datenmanipulation und andere Vorgänge) darstellt. Eine weitere nützliche Referenz ist John Cooks Distributions in Scipy .
Pandas Dies ist eine wirklich schöne Bibliothek für die Arbeit mit statistischen Daten - Tabellendaten, Zeitreihen, Paneldaten. Enthält viele integrierte Funktionen für Datenzusammenfassungen, Gruppierung / Aggregation und Pivoting. Hat auch eine Statistik / Ökonometrie-Bibliothek.
Larry Labeled Array, das sich gut mit NumPy spielt. Bietet statistische Funktionen, die in NumPy nicht vorhanden und für die Datenmanipulation geeignet sind.
python-statlib Ein relativ neuer Versuch, bei dem mehrere verstreute Statistikbibliotheken kombiniert wurden. Nützlich für grundlegende und beschreibende Statistiken, wenn Sie NumPy oder Pandas nicht verwenden.
Statistikmodelle Statistische Modellierung: Lineare Modelle, ua GLMs.
scikits Pakete für statistische und wissenschaftliche Berechnungen - insbesondere für Glättung, Optimierung und maschinelles Lernen.
PyMC Für Ihre Bayesian / MCMC / hierarchischen Modellierungsanforderungen. Sehr empfehlenswert.
PyMix Mixture Modelle.
Biopython Nützlich zum Laden Ihrer biologischen Daten in Python und bietet einige rudimentäre statistische / maschinelle Lernwerkzeuge zur Analyse.
Wenn Geschwindigkeit zu einem Problem wird, sollten Sie Theano in Betracht ziehen, das von tief lernenden Menschen mit gutem Erfolg eingesetzt wird.
Es gibt viele andere Dinge da draußen, aber dies ist das, was ich am nützlichsten finde, in dem Sinne, wie Sie es erwähnt haben.
quelle
Als numerische Plattform und Ersatz für MATLAB ist Python vor mindestens zwei bis drei Jahren ausgereift und in vielerlei Hinsicht besser als MATLAB. Ich habe damals versucht, von R zu Python zu wechseln und bin kläglich gescheitert. Es gibt einfach zu viele R-Pakete, die ich täglich verwende und die kein Python-Äquivalent haben. Das Fehlen von ggplot2 ist genug, um ein Showstopper zu sein, aber es gibt noch viel mehr. Darüber hinaus verfügt R über eine bessere Syntax für die Datenanalyse. Betrachten Sie das folgende grundlegende Beispiel:
Python :
R :
Was halten Sie für ausdrucksvoller? In R können Sie in Variablen denken und ein Modell leicht erweitern, um beispielsweise
Im Vergleich zu R ist Python eine einfache Sprache für die Modellbildung.
Wenn ich weniger Anforderungen an erweiterte statistische Funktionen hätte und Python bereits in einem größeren Projekt codiert hätte, würde ich Python als einen guten Kandidaten betrachten. Ich würde es auch in Betracht ziehen, wenn ein Bare-Bone-Ansatz erforderlich ist, entweder aufgrund von Geschwindigkeitsbegrenzungen oder weil R-Pakete keinen Vorteil bieten.
Für diejenigen , relativ fortgeschrittene Statistiken tun jetzt , die Antwort ist ein Kinderspiel, und ist nicht . Tatsächlich glaube ich, dass Python die Art und Weise, wie Sie über Datenanalysen denken, einschränken wird. Es wird einige Jahre und viele Jahre dauern, bis die Module für die 100 wesentlichen R-Pakete ausgetauscht sind, und selbst dann wird sich Python wie eine Sprache anfühlen, auf die die Datenanalysemöglichkeiten aufgesetzt wurden. Da R bereits den größten relativen Anteil angewandter Statistiker in mehreren Bereichen erfasst hat, sehe ich dies in Kürze nicht. Abgesehen davon ist es ein freies Land und ich kenne Leute, die Statistik in APL und C betreiben.
quelle
results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
. Statsmodels ist in Bezug auf die Abdeckung immer noch weit hinter anderen Statistikpaketen wie R zurück, aber es gibt immer mehr Dinge, die Sie in Python tun können, bevor Sie sich eine andere Sprache oder ein anderes Statistikpaket zulegen müssen. (GEE und Mixed werden in der nächsten Veröffentlichung sein.)Lassen Sie mich zunächst sagen, dass ich der Antwort von John D. Cook zustimme: Python ist keine domänenspezifische Sprache wie R, und dementsprechend können Sie später noch viel mehr damit anfangen. Natürlich bedeutet R als DSL, dass die neuesten in JASA veröffentlichten Algorithmen mit ziemlicher Sicherheit in R vorliegen. Wenn Sie hauptsächlich ad-hoc arbeiten und mit der neuesten Lasso-Regressionstechnik experimentieren möchten, ist R beispielsweise schwer zu schlagen. Wenn Sie mehr produktionsanalytische Arbeiten ausführen, sich in vorhandene Software und Umgebungen integrieren und sich Gedanken über Geschwindigkeit, Erweiterbarkeit und Wartbarkeit machen, ist Python für Sie viel besser geeignet.
Zweitens gab ars eine großartige Antwort mit guten Links. Hier sind einige weitere Pakete, die ich für die analytische Arbeit in Python als wesentlich erachte:
Wenn Sie eine MATLAB-ähnliche interaktive IDE / Konsole wünschen , schauen Sie sich Spyder oder das PyDev- Plugin für Eclipse an .
quelle
Ich glaube nicht, dass es ein Argument dafür gibt, dass das Angebot an statistischen Paketen in Cran und Bioconductor das Angebot in anderen Sprachen bei weitem übersteigt.
In meiner Forschung verwende ich R, wenn ich kann, aber manchmal ist R einfach zu langsam. Zum Beispiel ein großer MCMC-Lauf.
Kürzlich habe ich Python und C kombiniert, um dieses Problem anzugehen. Kurze Zusammenfassung: Anpassung eines großen stochastischen Populationsmodells mit ~ 60 Parametern und Ableitung von etwa 150 latenten Zuständen mithilfe von MCMC.
for
Rufen Sie mit einer Python- Schleife die C-Funktionen auf, mit denen die Parameter aktualisiert und die Wahrscheinlichkeit berechnet wurden.Eine schnelle Berechnung ergab, dass das Programm 95% in C-Funktionen ausgegeben hat. Ich musste jedoch keinen schmerzhaften C-Code schreiben, um Daten einzulesen oder C-Datenstrukturen zu erstellen.
Ich weiß, dass es auch rpy gibt , wo Python R-Funktionen aufrufen kann. Dies kann nützlich sein, aber wenn Sie "nur" Statistiken erstellen, würde ich R verwenden.
quelle
Die folgenden StackOverflow-Diskussionen könnten nützlich sein
quelle
Ich habe das in den obigen Antworten explizit erwähnte Scikit-Learn nicht gesehen . Es ist ein Python-Paket für maschinelles Lernen in Python. Es ist ziemlich jung, wächst aber extrem schnell (Haftungsausschluss: Ich bin ein Entwickler, der sich mit Scikits auskennt). Ziel ist es, standardmäßige algorithmische Tools für maschinelles Lernen in einer einheitlichen Benutzeroberfläche bereitzustellen, bei der Geschwindigkeit und Benutzerfreundlichkeit im Vordergrund stehen. Soweit ich weiß, gibt es in Matlab nichts Vergleichbares. Ihre Stärken sind:
Eine ausführliche Dokumentation mit vielen Beispielen
Kontrollierte Lernwerkzeuge mit hohem Qualitätsstandard (Regression / Klassifizierung). Speziell:
sehr vielseitiges SVM (basierend auf libsvm, aber mit Integration externer Patches und viel Arbeit an der Python-Bindung)
benachteiligte lineare Modelle ( Lasso , spärliche logistische Regression ...) mit effizienten Implementierungen.
Die Möglichkeit zur Modellauswahl durch Kreuzvalidierung mit mehreren CPUs
Unüberwachtes Lernen , um die Daten zu untersuchen oder eine Reduzierung der ersten Dimension vorzunehmen , die leicht an überwachtes Lernen gekoppelt werden kann.
Open Source, BSD lizenziert. Wenn Sie sich nicht in einem rein akademischen Umfeld befinden (ich bin in einem staatlichen Labor), spielt dies eine große Rolle, da die Kosten für Matlab dann sehr hoch sind und Sie möglicherweise darüber nachdenken, Produkte aus Ihrer Arbeit abzuleiten.
Matlab ist ein großartiges Tool, aber in meiner eigenen Arbeit verschafft mir scipy + scikit-learn einen Vorsprung vor Matlab, da Python aufgrund seines Ansichtsmechanismus (und meiner großen Datenmengen) und des Mit scikit-learn kann ich sehr einfach verschiedene Ansätze vergleichen.
quelle
Ein Vorteil des Wechsels zu Python ist die Möglichkeit, mehr in einer Sprache zu arbeiten. Python ist eine vernünftige Wahl für das Knacken von Zahlen, das Schreiben von Websites, das Erstellen von Verwaltungsskripten usw. Wenn Sie also Ihre Statistiken in Python erstellen, müssen Sie nicht die Sprache wechseln, um andere Programmieraufgaben auszuführen.
Update: Am 26. Januar 2011 kündigte Microsoft Research Sho an , eine neue Python-basierte Umgebung für die Datenanalyse. Ich hatte noch keine Gelegenheit, es zu versuchen, aber es klingt nach einer interessanten Möglichkeit, um Python auszuführen und auch mit .NET-Bibliotheken zu interagieren.
quelle
Vielleicht ist diese Antwort ein Betrug, aber es scheint seltsam, dass niemand das RPY- Projekt erwähnt hat, das eine Schnittstelle zwischen R und Python bietet. Sie erhalten eine pythonische API für die meisten Funktionen von R, während Sie die (ich würde mich als angenehmer erachten) Syntax, die Datenverarbeitung und in einigen Fällen die Geschwindigkeit von Python beibehalten. Es ist unwahrscheinlich, dass Python jemals so viele aktuelle Statistik-Tools wie R haben wird, nur weil R ein dsl ist und die Statistik-Community mehr in R investiert ist als möglicherweise jede andere Sprache.
Ich betrachte dies als analog zur Verwendung eines ORM, um die Vorteile von SQL zu nutzen, während Python Python und SQL SQL ist.
Andere nützliche Pakete speziell für Datenstrukturen sind:
quelle
Ich bin ein Biostatistiker in einem R-Laden (~ 80 Leute benutzen R als primäres Werkzeug). Trotzdem verbringe ich ungefähr 3/4 meiner Zeit mit Python. Ich schreibe dies in erster Linie auf die Tatsache zurück, dass meine Arbeit bayesianische und maschinelle Lernansätze zur statistischen Modellierung umfasst. Python kommt dem Performance / Productivity Sweet Spot viel näher als R, zumindest bei iterativen oder simulationsbasierten statistischen Methoden. Wenn ich ANOVAS, Regressionen und statistische Tests durchführen würde, würde ich sicher hauptsächlich R verwenden. Das meiste, was ich brauche, ist jedoch nicht als R-Paket in Dosen erhältlich.
quelle
Ich möchte sagen, dass ich vom Standpunkt einer Person aus, die sich bei meiner statistischen Arbeit stark auf lineare Modelle stützt und Python für andere Aspekte meines Jobs liebt, von Python als Plattform für alles andere als recht einfache Statistiken sehr enttäuscht bin .
Ich finde, dass R von der statistischen Community viel besser unterstützt wird, dass lineare Modelle viel besser implementiert werden und dass Python, um ehrlich zu sein, auch bei exzellenten Distributionen wie Enthought ein bisschen wie der Wilde Westen ist.
Und wenn Sie nicht alleine arbeiten, ist die Wahrscheinlichkeit, dass Sie Mitarbeiter haben, die Python für Statistiken verwenden, derzeit recht gering.
quelle
Es ist sowieso nicht nötig, R für Python aufzugeben. Wenn Sie IPython mit einem vollständigen Stapel verwenden, verfügen Sie über die Erweiterungen R, Octave und Cython, sodass Sie diese Sprachen problemlos und sauber in Ihren IPython-Notizbüchern verwenden können. Sie können auch Werte zwischen ihnen und Ihrem Python-Namespace übergeben. Sie können Ihre Daten mit matplotlib als Diagramme und als ordnungsgemäß gerenderte mathematische Ausdrücke ausgeben. Es gibt unzählige andere Funktionen, und Sie können dies alles in Ihrem Browser tun.
IPython hat einen langen Weg zurückgelegt :)
quelle
Was Sie suchen, heißt Sage: http://www.sagemath.org/
Es ist eine hervorragende Online-Schnittstelle zu einer gut aufgebauten Kombination von Python-Werkzeugen für die Mathematik.
quelle
Rpy2 - mit R spielen bleiben in Python ...
Weitere Ausarbeitung nach Gungs Wunsch:
Die Rpy2-Dokumentation finden Sie unter http://rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html
Aus der Dokumentation geht hervor, dass die übergeordnete Schnittstelle in rpy2 die Verwendung von R durch Python-Programmierer erleichtern soll. R-Objekte werden als Instanzen von in Python implementierten Klassen verfügbar gemacht, wobei R in einigen Fällen als gebundene Methoden für diese Objekte fungiert. Dieser Abschnitt enthält auch eine Einführung in Grafiken mit R: Trellis (Gitter) -Diagrammen sowie die in ggplot2 implementierte Grammatik von Grafiken, mit der komplexe und informative Diagramme mit wenig geschriebenem Code erstellt werden können, während die zugrunde liegenden Gittergrafiken alle möglichen Anpassungen ermöglichen.
Warum ich es mag:
Ich kann meine Daten mit der Flexibilität von Python verarbeiten, sie mit Numpy oder Pandas in eine Matrix verwandeln und die Berechnung in R ausführen und r-Objekte für die Nachbearbeitung zurückholen. Ich benutze Ökonometrie und Python wird einfach nicht die neuesten Statistiken von R haben. Und R wird wahrscheinlich nie so flexibel sein wie Python. Das setzt voraus, dass du R verstehst. Zum Glück hat es eine nette Entwickler-Community.
Rpy2 selbst wird gut unterstützt und der Gentleman, der es unterstützt, besucht die SO-Foren. Windows - Installation möglicherweise ein leichter Schmerz - https://stackoverflow.com/questions/5068760/bizzarre-issue-trying-to-make-rpy2-2-1-9-work-with-r-2-12-1-using -python-2-6-un? rq = 1 könnte helfen.
quelle
Ich benutze Python für statistische Analysen und Prognosen. Wie bereits erwähnt, sind Numpy und Matplotlib gute Arbeitspferde. Ich benutze ReportLab auch zur Erzeugung von PDF-Ausgaben.
Momentan beschäftige ich mich sowohl mit Resolver als auch mit Pyspread, bei denen es sich um Excel-ähnliche Tabellenkalkulationsanwendungen handelt, die auf Python basieren. Resolver ist ein kommerzielles Produkt, aber Pyspread ist immer noch Open Source. (Entschuldigung, ich bin auf nur einen Link beschränkt)
quelle
tolle übersicht bisher. Ich benutze Python (speziell scipy + matplotlib) als Matlab-Ersatz seit 3 Jahren an der Universität. Ich gehe manchmal immer noch zurück, weil ich mit bestimmten Bibliotheken vertraut bin, z. B. ist das matlab Wavelet-Paket einfach fantastisch.
Ich mag die http://enthought.com/ Python-Distribution. Es ist kommerziell, aber für akademische Zwecke kostenlos und, soweit ich weiß, vollständig Open Source. Da ich mit vielen Studenten zusammenarbeite, war es für sie vor der Verwendung von enthought manchmal schwierig, numpy, scipy, ipython usw. zu installieren. Enthought bietet ein Installationsprogramm für Windows, Linux und Mac.
Zwei weitere erwähnenswerte Pakete:
ipython (kommt schon mit begeistert) tolle advanced shell. Ein gutes Intro finden Sie auf showmedo http://showmedo.com/videotutorials/series?name=PythonIPythonSeries
nltk - das Toolkit für natürliche Sprachen http://www.nltk.org/ ein großartiges Paket für den Fall, dass Sie Statistiken / maschinelles Lernen mit einem beliebigen Korpus durchführen möchten.
quelle
Dies ist eine interessante Frage mit großartigen Antworten.
Vielleicht finden Sie in einem Artikel, den ich mit Roseline Bilina geschrieben habe, eine nützliche Diskussion. Die endgültige Version ist hier zu finden: http://www.enac.fr/recherche/leea/Steve%20Lawford/papers/python_paper_revised.pdf (seitdem ist sie in fast dieser Form als "Python für einheitliche Forschung in Ökonometrie und Statistik" erschienen ", in Econometric Reviews (2012), 31 (5), 558-591).
quelle
Vielleicht nicht direkt verwandt, aber R hat eine schöne GUI-Umgebung für interaktive Sitzungen (bearbeiten: auf Mac / Windows). IPython ist sehr gut, aber für eine Umgebung, die Matlab ähnelt, können Sie Spyder oder IEP ausprobieren. Ich hatte in letzter Zeit mehr Glück mit IEP, aber Spyder sieht vielversprechender aus.
IEP: http://code.google.com/p/iep/
Spyder: http://packages.python.org/spyder/
Die IEP-Website enthält einen kurzen Vergleich der zugehörigen Software: http://code.google.com/p/iep/wiki/Alternatives
quelle
Ich habe hier ein großartiges Intro für Pandas gefunden, das ich ausprobieren möchte. Pandas ist ein erstaunliches Toolset und bietet die umfangreichen Datenanalysemöglichkeiten von R mit den umfangreichen Bibliotheken und der Produktionsqualität von Python.
Dieser Blog-Beitrag bietet eine großartige Einführung in Pandas aus der Sicht eines Anfängers:
http://manishamde.github.com/blog/2013/03/07/pandas-and-python-top-10/
quelle
Ich sollte ein Shout-out für Sho hinzufügen, die auf IronPython basierende numerische Computerumgebung. Ich benutze es gerade für den maschinellen Lernkurs in Stanford und es war wirklich hilfreich. Es ist in lineare Algebra-Pakete und Diagrammfunktionen integriert. Als .NET ist es einfach, es mit C # oder einer anderen .NET-Sprache zu erweitern. Ich fand es viel einfacher, als Windows-Benutzer mit Python und NumPy anzufangen.
quelle
Niemand hat Orange zuvor erwähnt:
Ich benutze es nicht täglich, aber es ist ein Muss für jeden, der GUI gegenüber Kommandozeilenschnittstelle vorzieht.
Auch wenn Sie letzteres bevorzugen, ist Orange eine gute Sache, mit der Sie vertraut sein sollten, da Sie ganz einfach Teile von Orange in Ihre Python-Skripte importieren können, falls Sie einige Funktionen benötigen.
quelle
Beachten Sie, dass SPSS Statistics eine integrierte Python-Schnittstelle (auch R) hat. Auf diese Weise können Sie Python-Programme schreiben, die Statistics-Prozeduren verwenden und entweder die üblichen, gut formatierten Statistics-Ausgaben erstellen oder die Ergebnisse zur weiteren Verarbeitung an Ihr Programm zurückgeben. Oder Sie können Python-Programme im Statistik-Befehlsstrom ausführen. Sie müssen die Befehlssprache Statistik noch kennen, können jedoch alle von Statistik bereitgestellten Funktionen für die Datenverwaltung, die Präsentationsausgabe usw. sowie die Verfahren nutzen.
quelle
Der aktuelle Vergleich von DataCamp bietet ein klares Bild über R und Python.
Die Verwendung dieser beiden Sprachen im Bereich der Datenanalyse. Python wird im Allgemeinen verwendet, wenn die Datenanalysetasks in Web-Apps integriert werden müssen oder wenn Statistikcode in eine Produktionsdatenbank integriert werden muss. R wird hauptsächlich verwendet, wenn die Datenanalyseaufgaben ein Standalone-Computing oder eine Analyse auf einzelnen Servern erfordern.
Ich fand es in diesem Blog so nützlich und hoffe, es würde auch anderen helfen, die neuesten Trends in beiden Sprachen zu verstehen. Julia kommt auch in die Gegend. Hoffe das hilft !
quelle
Ich glaube, Python ist eine hervorragende Workbench in meinem Bereich. Ich mache viel Scraping, Daten-Wrangling, große Datenmengen, Netzwerkanalyse, Bayes'sche Modellierung und Simulationen. All diese Dinge erfordern normalerweise Schnelligkeit und Flexibilität, sodass ich finde, dass Python in diesen Fällen besser funktioniert als R. Hier sind ein paar Dinge über Python, die mir gefallen (einige sind oben erwähnt, andere nicht):
-Cleaner Syntax; besser lesbarer Code. Ich glaube, dass Python eine modernere und syntaktisch konsistentere Sprache ist.
-Python bietet Notebook, Ipython und andere erstaunliche Tools für die gemeinsame Nutzung von Code, die Zusammenarbeit und das Veröffentlichen.
-iPythons Notizbuch ermöglicht es einem, R in seinem Python-Code zu verwenden, so dass es immer möglich ist, zu R zurückzukehren.
- Ohne Rückgriff auf C wesentlich schneller. Mit Cython, NUMBA und anderen Methoden der C-Integration erreichen Sie eine Geschwindigkeit, die mit der von C vergleichbar ist. Dies ist meines Wissens in R nicht möglich.
-Pandas, Numpy und Scipy blasen Standard R aus dem Wasser. Ja, es gibt einige Dinge, die R in einer einzelnen Zeile tun kann, aber Pandas 3 oder 4 benötigt. Im Allgemeinen können Pandas jedoch größere Datenmengen verarbeiten, sind einfacher zu verwenden und bieten eine unglaubliche Flexibilität in Bezug auf die Integration mit anderen Pythons Pakete und Methoden.
-Python ist stabiler. Versuchen Sie, ein 2gig-Dataset in RStudio zu laden.
-Ein ordentliches Paket, das oben nicht erwähnt zu sein scheint, ist PyMC3 - ein großartiges allgemeines Paket für die meisten Ihrer Bayes'schen Modelle.
-Einige, oben erwähnte ggplot2 und grub über seine Abwesenheit in Python. Wenn Sie jemals die Grafikfunktionen von Matlab und / oder Matplotlib in Python verwendet haben, wissen Sie, dass letztere Optionen im Allgemeinen viel leistungsfähiger sind als ggplot2.
Vielleicht ist R jedoch einfacher zu erlernen und ich verwende es häufig in Fällen, in denen ich mit den Modellierungsverfahren noch nicht allzu vertraut bin. In diesem Fall ist die Tiefe der statistischen Standardbibliotheken von R unschlagbar. Im Idealfall kenne ich beide gut genug, um sie bei Bedarf verwenden zu können.
quelle
Für diejenigen, die unter Windows arbeiten müssen, hilft Anaconda ( https://store.continuum.io/cshop/anaconda/ ) sehr. Das Installieren von Paketen unter Windows bereitete Kopfzerbrechen. Wenn Anaconda installiert ist, können Sie eine einsatzbereite Entwicklungsumgebung mit einem Einzeiler einrichten.
Zum Beispiel mit
Alle diese Pakete werden automatisch abgerufen und installiert.
quelle
Python hat einen langen Weg vor sich, bevor es mit R verglichen werden kann. Es hat deutlich weniger Pakete als R und von geringerer Qualität. Leute, die sich an die Grundlagen halten oder sich nur auf ihre benutzerdefinierten Bibliotheken verlassen, könnten ihre Arbeit wahrscheinlich ausschließlich in Python erledigen, aber wenn Sie jemand sind, der fortgeschrittenere quantitative Lösungen benötigt, wage ich zu sagen, dass nichts da draußen in der Nähe von R ist.
Es sollte auch beachtet werden, dass Python bis jetzt keine richtige wissenschaftliche Matlab-ähnliche IDE wie R-Studio hat (bitte sagen Sie nicht Spyder) und dass Sie alles auf der Konsole ausarbeiten müssen. Im Allgemeinen erfordert die gesamte Python-Erfahrung ein gutes Maß an "Geekness", das den meisten Menschen fehlt und das sie nicht interessieren.
Versteh mich nicht falsch, ich liebe Python, es ist eigentlich meine Lieblingssprache, die im Gegensatz zu R eine echte Programmiersprache ist. Bei der reinen Datenanalyse bin ich jedoch auf R angewiesen, die mit Abstand spezialisierteste und am weitesten entwickelte Lösung. Ich verwende Python, wenn ich Datenanalyse mit Software-Engineering kombinieren muss, z. B. um ein Tool zu erstellen, mit dem die Methoden, die ich zuerst in einem Dirty-R-Skript programmiert habe, automatisiert werden. In vielen Fällen benutze ich rpy2, um R aus Python heraus aufzurufen, weil in den allermeisten Fällen R-Pakete so viel besser sind (oder überhaupt nicht in Python existieren). Auf diese Weise versuche ich, das Beste aus beiden Welten herauszuholen.
Ich benutze immer noch Matlab für die reine Algorithmusentwicklung, da ich seine mathematische Syntax und Geschwindigkeit liebe.
quelle