Das EnArgus-System:Pandas und matplotlibim praktischen Einsatz         Thomas Koch  OrbiTeam Software GmbH & Co. KGPyBonn ...
Kurzvorstellung: EnArgus-Projekt• Ziel: Entwicklung und Erprobung eines zentralen  Informationssystems für Energieforschun...
EnArgus: TeilsystemeFür die Öffentlichkeit                   Für die interne Nutzung              EnArgus.public          ...
EnArgusSystemarchitektur Auswertung &      Suchanfragen                                             Energie-              ...
ENARGUS.MASTER                  Auswertungen• Akkumulation der  Suchergebnisse    – z.B. Fragestellung:      Verteilung de...
Recherche-Cockpit     Recherche-            Suchen                                          Filtern &                     ...
Gruppierung & Aggregation• Gruppierung: unabhängige Variable x      –      Zeit (Projektlaufzeit nach Jahren, Monaten)    ...
GUI: Formular für AuswertungAuswahl der Felder, Gruppierung undDarstellung27.02.2013         EnArgus@PyBonn      8
Visualisierung(en)27.02.2013         EnArgus@PyBonn   9
Einsatzbereiche von Pandas                              (im EA-Projekt)• Pandas      – DataFrames: N-dimensionale Arrays  ...
Einsatzbereiche von Matplotlib                             (im EA-Projekt)• Matplotlib      – Integration von pandas mit d...
DemoDemonstration EnArgus:  Recherche-Cockpit
Bibliotheken im Einsatz• Numpy, Pandas, Matplotlib      – Statistische Auswertungen und Visualisierung             (Teil d...
Tipps & Tricks• Matplotlib allgemein      – matplotlib erwartet unicode!      – Web-GUI: matplotlib muss angewiesen werden...
Weitere Details zu EnArgus®• Nationales Forschungsvorhaben      – Partner: aus Energieforschung und Informatik            ...
?      Diskussion/FragenKontakt für weitere Fragen  • koch@orbiteam.de  • @tomy_kochMehr Infos zum Projekt  • www.enargus....
Upcoming SlideShare
Loading in …5
×

Pandas und matplotlib im praktischen Einsatz

979 views
818 views

Published on

Präsentation auf dem PyBonn UserGroup Meeting am 27.02.2013 - Thema "Scientific Computing" - mit Vorträgen zu pandas und matplotlib.

Der Vortrag zeigt den praktischen Einsatz von pandas und matplotlib am Beispiel des Forschungsprojektes EnArgus.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
979
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pandas und matplotlib im praktischen Einsatz

  1. 1. Das EnArgus-System:Pandas und matplotlibim praktischen Einsatz Thomas Koch OrbiTeam Software GmbH & Co. KGPyBonn 27.02.2013, Bonn
  2. 2. Kurzvorstellung: EnArgus-Projekt• Ziel: Entwicklung und Erprobung eines zentralen Informationssystems für Energieforschungs- vorhaben aus dem Bereich der Förderung durch Bund und Länder• Zielgruppen: – Die interessierte Öffentlichkeit • Überblick über Forschungsprojekte  Einfache Suchfunktionen – Die Politik: Ministerien & Projektträger • Was wird/wurde gefördert (inhaltliche Fragen) • Forschungstrends, Experten, Verteilung Fördermittel etc.  Komplexe Recherche- und Visualisierungsfunktionen27.02.2013 EnArgus@PyBonn 2
  3. 3. EnArgus: TeilsystemeFür die Öffentlichkeit Für die interne Nutzung EnArgus.public EnArgus.master• Einfache Bedienung • Expertensuche• Ansprechende Webseiten • Vollzugriff auf Vorhaben• Eingeschränkter Zugriff • Hinzufügen von Inhalten• Einfache Suchfunktionen • Statistische Auswertungen• Faceted Search • Graphische Visualisierungen• Zugriff auf EnArgus.wiki • Suchen speichern & veröffentlichen 27.02.2013 EnArgus@PyBonn 3
  4. 4. EnArgusSystemarchitektur Auswertung & Suchanfragen Energie- Kooperations- Ontologie- Visualisierung & -ergebnisse Unterstützg. forschungs Editor Recherche-Cockpit -Wiki BSCW Core Ontologie Core Wiki Core Index EnArgus-DB Dokumente Ontologie-DB Wiki-Texte27.02.2013 EnArgus@PyBonn 4
  5. 5. ENARGUS.MASTER Auswertungen• Akkumulation der Suchergebnisse – z.B. Fragestellung: Verteilung der Förderkosten über die Jahre• Technik – pandas,matplotlib 27.02.2013 EnArgus@PyBonn 5
  6. 6. Recherche-Cockpit Recherche- Suchen Filtern & Auswertung Visualisierung Workflow: SortierenZiele: – Nach der Suche soll Ergebnisanalyse möglich sein: • Gruppierung, Summierung und andere Auswertungsfunktionen • Auswahl der Daten soll durch den Benutzer erfolgen – Visualisierung der Analyseergebnisse gewünscht • Visualisierung in Form von Kuchen- und Balkendiagrammen • Auswahl der Darstellung soll durch den Benutzer erfolgen27.02.2013 EnArgus@PyBonn 6
  7. 7. Gruppierung & Aggregation• Gruppierung: unabhängige Variable x – Zeit (Projektlaufzeit nach Jahren, Monaten) – Organisation (Zuwendungsempfänger) – Vorhaben (Menge von Vorhaben) – …• Aggregation: abhängige Variable y = f(x) – Summe (Fördersummen der Vorhaben) – Anzahl (Anzahl von Projekten/Organisationen) – Minimum oder Maximum – …27.02.2013 EnArgus@PyBonn 7
  8. 8. GUI: Formular für AuswertungAuswahl der Felder, Gruppierung undDarstellung27.02.2013 EnArgus@PyBonn 8
  9. 9. Visualisierung(en)27.02.2013 EnArgus@PyBonn 9
  10. 10. Einsatzbereiche von Pandas (im EA-Projekt)• Pandas – DataFrames: N-dimensionale Arrays (Speicherung der Suchergebnisse für Auswertung) – DataFrame Indexing , z.B. einfacher Zugriff auf "Top 10": data = data[:10] – Sortierung nach bestimmten Werten: data.sort(on) – Statistische Methoden zur Akkumulation: data.mean(), data.sum(), data.count() – Anwendung einer Funktion auf einen DataFrame: data.apply(lambda x: 100.*x/total) – Gruppierung nach einer Spalte: data.groupby(column) – CSV-Export: data.to_csv(filename, ...) – …27.02.2013 EnArgus@PyBonn 10
  11. 11. Einsatzbereiche von Matplotlib (im EA-Projekt)• Matplotlib – Integration von pandas mit der matplotlib library zur Anzeige von Daten in Graphen – Series und DataFrame haben jeweils eine plot()-Methode – erzeugt Graphen auf Basis der vorliegenden Daten – Übergabe von Anzeige-Details: data.plot(ax=axis, color=blue) data.plot(kind=bar, ax=axis) – Ausgabe am Schirm oder in Datei: figure = plt.figure() plt.savefig(outputfile)27.02.2013 EnArgus@PyBonn 11
  12. 12. DemoDemonstration EnArgus: Recherche-Cockpit
  13. 13. Bibliotheken im Einsatz• Numpy, Pandas, Matplotlib – Statistische Auswertungen und Visualisierung (Teil der Pydata Familie)• GraphViz, pydot – Darstellung von Graphen der Suchanfrage (query)• PyLucene – Volltextsuche, Facetten• JPype – Anbindung an Java-Bibliotheken (hier: Protegé)27.02.2013 EnArgus@PyBonn 13
  14. 14. Tipps & Tricks• Matplotlib allgemein – matplotlib erwartet unicode! – Web-GUI: matplotlib muss angewiesen werden, kein display zu verwenden: matplotlib.use("Agg")• Matplotlib Design – matplotlib lässt sich auch "anhübschen" bzw. stylen: – einfach: Fonts & Farben: matplotlib.rcParams.update({font.family:“Arial“, font.size: 12,)) – etwas aufwändiger: schickes Design • z.B. Schatten und Farbverläufe http://ganwellresource.blogspot.de/2012/12/customize-matplotlib-plots.html • oder auch comic-Style (XKCD): http://jakevdp.github.com/blog/2012/10/07/xkcd-style-plots-in-matplotlib/27.02.2013 EnArgus@PyBonn 14
  15. 15. Weitere Details zu EnArgus®• Nationales Forschungsvorhaben – Partner: aus Energieforschung und Informatik • Fraunhofer FIT, FKIE, UMSICHT und ISI • Forschungszentrum Jülich • Ruhr-Universität Bochum • OrbiTeam Software – Gefördert durch BMWi • Bundesministerium für Wirtschaft und Technologie • 5. Energieforschungsprogramm der Bundesregierung • 2 Jahre Laufzeit (Juli 2011 bis Juni 2013) – Mehr Infos: Vortrag auf der PyCon 2012: https://2012.de.pycon.org/programm/schedule/sessions/21/27.02.2013 EnArgus@PyBonn 15
  16. 16. ? Diskussion/FragenKontakt für weitere Fragen • koch@orbiteam.de • @tomy_kochMehr Infos zum Projekt • www.enargus.de27.02.2013 EnArgus@PyBonn 16

×