Daten Auswerten mit zwei Variablen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Student112
User
Beiträge: 2
Registriert: Sonntag 4. Oktober 2020, 19:52

Hallo zusammen,

Ich habe einen Datensatz der Weltbank. Nun muss ich die Daten auswerten nach zwei verschieden Variablen. Dies soll dann in einer Matrix und Schaubild ausgegeben werden.
Es soll immer die Anzahl der Einkommensgruppe in der jeweiligen Region gezählt werden. Es sind insgesammt 10 Regionen und 4 Einkommensgruppen. Ich stelle mir die Ausgabe etwa so vor wie das Ziel unten. Wer kann mir Helfen, Bitte

Ich versuche mich bereits seit Stunden und kommen nicht weiter. Könnt ihr mir helfen.

Ziel ist:
Region 1 Region 2 Region 3 Region 4
Einkommen 1 2 6 5 4
Einkommen 2 2 7 5 4
Einkommen 3 4 5 4 4
Einkommen 4 6 8 6 6
Einkommen 5 8 7 8 8
Sirius3
User
Beiträge: 18220
Registriert: Sonntag 21. Oktober 2012, 17:20

In welcher Form hast Du denn den Datensatz? Welche Operationen musst du durchführen, um vom Input zum Output zu kommen?
Benutzeravatar
__blackjack__
User
Beiträge: 13927
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Student112: Da ich mal vermute, dass das öffentlich zugängliche Daten sind, könntest Du auch direkt auf diese Daten im Netz verweisen. Dann hast Du weniger Aufwand die Daten zu beschreiben, und wir können uns direkt die Daten ansehen, ohne die potentielle Gefahr eine Umschreibung falsch zu verstehen.

Welche Werkzeuge stehen Dir zur Verfügung? Und wie gut beherrschst Du die?
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Student112
User
Beiträge: 2
Registriert: Sonntag 4. Oktober 2020, 19:52

Den Datensatz habe ich als XLSX bekommen, habe ihn eingelesen.

Die Daten sind als Text generiert. Nun möchte ich die verschiedenen Variablen auswerten und die anzahl der jeweils gleichen Zählen und in der Matrix darstellen. Im Anschluss soll es ein Balkendiagramm ausgegeben werden.

Ja, die Daten sind irgendwo auf der Weltbank öffentlich, habe es aber nicht gefunden. Deshalb habe ich einen Link mit Lesezugriff erstellt.
https://1drv.ms/u/s!Asgu6uApdPY3gWQrGXt ... m?e=26gtDH

Werkzeuge: Anaconda mit Jupiter Notebook (Pandas, Seaborn, Tensorflow ggf. weitere Standard)

meine Kentnisse: nahezu 0 habe das erste mal was von Phyton gehört.
Deshalb hoffe ich auf eure Hilfe.

Die Fragen bei denen ich nicht weiterkomme:

2a
Wieviele Laender in den einzelnen Einkommensgruppen gehoeren zu den einzelnen Regionen? Aus Ihrer Zusammenstellung soll ablesbar sein, wie aehnlich oder unterschiedlich die Einkommenssituation in den einzelnen Regionen ist.

2b
Sind die Regionen homogen bzgl. der Einkommensgruppen der Länder? Vergleichen sie die Regionen mit einer geeigneten Statistik

2c
Berechnen sie einige Basisstatistiken. Gibt es Verdacht auf Ausreißer?

Danke bereits an alle
Benutzeravatar
__blackjack__
User
Beiträge: 13927
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Student112: In der Python-Dokumentation gibt es ein Grundlagentutorial zu Python und auch in der Pandas-Dokumentation gibt es Lesestoff zum Einstieg. Das sollte man beides mal durcharbeiten, sonst wird das zu Programmieren durch raten, was nicht wirklich funktioniert.

Als Hinweis dann vielleicht noch, dass es für eine Kreuztabelle wie Du sie im ersten Beitrag gezeigt hast, eine *Funktion* im Pandas-Modul gibt. Dein Ergebnis müsste dann wohl so aussehen:

Code: Alles auswählen

Income Group          High income  Low income  Lower middle income  Upper middle income
Region                                                                                 
ASIA (EX. NEAR EAST)            3           2                    9                    6
BALTICS                         3           0                    0                    0
C.W. OF IND. STATES             0           1                    3                    7
EASTERN EUROPE                  5           0                    0                    4
LATIN AMER. & CARIB             8           1                    4                   18
NEAR EAST                       8           1                    0                    4
NORTHERN AFRICA                 0           0                    3                    2
NORTHERN AMERICA                4           0                    0                    0
OCEANIA                         6           0                    4                    7
SUB-SAHARAN AFRICA              1          20                   13                    6
WESTERN EUROPE                 26           0                    0                    0
Ich habe hier zusätzlich noch überflüssige Leerzeichen bei den Regionen entfernt, denn da haben einige (wenn nicht sogar alle) unnütze Leerzeichen am Ende, die einfach nur die Tabelle breiter machen. Achtung: In diesem Fall ist das nur Kosmetik gewesen weil jeder Eintrag für die gleiche Region auch die gleiche Anzahl von zusätzlichen Leerzeichen hatte, aber man hat auch manchmal unsaubere Daten, wo solche Leerzeichen dann aus einer Kategorie mehrere macht!
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Antworten