IT Experten gebraucht bei Python codierung.

Status
Für weitere Antworten geschlossen.

Dzesi

Newbie
Registriert
Jan. 2024
Beiträge
7
Also ich versuche mich kurz zu halten für ein Modul muss ich mit Python einen code erstellen der die daten aus meinem Datensatz ausließt und mir daraus eine Grafik erstellt (Histogramm), Pyhton ließt aber aus einer 110 auch eine 10 raus und aus einer 210 auch die 10, d.h es werden viel mehr Häufigkeiten unter der kategorie 10 ausgelesen als es tatächlich gibt, wie kann ich den promt so Formulieren das dies mir tatsächlich z.b nur die werte von 10 bis 40 ausließt.
Danke schonmal im Vorraus :)
 
Hausaufgabe?
Und jetzt stell dir vor, du hast keine weiteren Unterlagen oder Informationen (also wie wir anderen Forentrolle) und liest deine Frage. Würdest du wissen, was du willst?

Liefer Beispieldaten und den Code, den du bisher gebaut hast, was du bisher ausprobiert hast und wo genau du nicht begreifst, warum dein Code nicht das macht, was du möchtest.
 
  • Gefällt mir
Reaktionen: Dzesi
Was hast du denn zur Zeit? Stelle uns deinen Code und ein paar Beispieldaten zur Verfügung, danach formulierst du nochmal dein Problem, anschließend bekommst du Denkanstöße. Die Hausaufgabe wird hier niemand für dich übernehmen, wohl aber die richtigen Denkanstöße liefern.
 
  • Gefällt mir
Reaktionen: MadDog
Dzesi schrieb:
Pyhton ließt aber aus einer 110 auch eine 10 raus und aus einer 210 auch die 10, d.h es werden viel mehr Häufigkeiten unter der kategorie 10 ausgelesen als es tatächlich gibt,
ich hoffe dir ist klar, dass aus dieser Formulierung ohne Daten und Coe niemand hier wissen kann, was das wirklich bedeutet, meinst du nicht?

Allein schon dieser Teil:
Pyhton ließt aber aus einer 110 auch eine 10 raus
Was denkst du was man damit anfangen kann ohne jeglichen Kontext?

Ich koennte jetzt wuerfeln und sagen du deine CSV Datei ist kaputt , oder deine Pandas Nutzung ist falsch, oder ... und nein, ist natuerlich kein CSV Problem, aber niemand weiss was du machst - Strings zerlegen? Zahlen parsen? Aber das hilft dir null.

Kurzum: Quellcode und Daten bitte. Danke


Anmerkung: das "Programmieren" Unterforum waere thematisch sicher bssser gewesen, von Enterprise sind wir bei Uni-Modulen dann doch noch ein Stueck entfernt.
 
  • Gefällt mir
Reaktionen: leprechaunwg, eigsi124 und Dzesi
Willkommen!

Erstens hatte das wenig mit "Produktivität, Enterprise Cloud, Infrastruktur" zu tun, habs verschoben.
Und ... also wie sollen wir dir denn bei einem Code helfen, wenn du uns den nicht mal gibst?
Welcher Datensatz? Was ist das, wie sieht der aus?
 
Okay Danke für die antwort schonmal also dann jetzt ganz ausführlich. Wir haben einen Datensatz gegeben der heißt Kundendaten und darin eine Variable enthalten die heisst income(Netto HH vermögen) diese Variable hat 5000 ausprägungen und ich muss einen code pyhton erstellen mit chatgpt und diesen python code dann bei visual studio code ein fügen so das mir visuial studio code das Histogramm dazu erstellt was ich möchte. Das Histogramm wie es aussehen soll habe ich bereits vorgegen bekommen, und ich habe auch die formlen die zur berechnung benutz werden sollen vorgegeben, es sollen 5 klassen erstellt werden in der ersten klasse alle einkommen von 10 bis unter 40 usw. ich füge bilder hinzu zur verständnis das problem ist das chatgpt nicht verstehet das der code nun alle zahlen ausliesst die eine 10 enthalten haben also auch 110 und 111 und 112 usw und nicht die zahlen die tatsächlich in meine klasse gehören.
Das ist mein Promt an Chatgpt: Ich möchte das du das HH einkommen in 5 Klassen klassierst dabei soll Klassiert werden in von 10 bis unter 40, von 40 bis unter 80, von 80 bis unter 120, von 120 bis unter 240, von 240 bis 1000
Nehme dazu bitte die formel die ich in meinem Statistik Kurs anwende um die , Dichte und die absolute Besetzungsdichten zu berechnenKlassenbreite : Klassenobergrenze - Klassenuntergrenze Absolute Besetzungsdichte : Häufigkeit/Breite, also Häufigkeit geteilt durch die Breite

und das ist der code den chat gpt mir ausgibt das bild mit den grünen balken ist wie es aussehen soll und das andere was ich bisher erstellen konnte und ich habe das problem erkannt daran das die 1 Klasse eine absolute besetzungsdichte von 80 hat laut pyhton das ist aber falsch und kann nur dazu kommen wenn er mehr werte in die Klasse nimmt es es tätsächliche häufigkeiten gibt

Das ist der Code von Chatgpt :
import pandas as pd
import matplotlib.pyplot as plt
# Lade die Excel-Datei in ein DataFrame
excel_datei = "Kundendaten.xlsx"
df = pd.read_excel(excel_datei)
# Annahme: Die Variable "income" enthält das Netto-Haushaltseinkommen
spalte_fuer_histogramm = "income"
# Definiere die Klassenintervalle und ihre Breiten
klassen = [(10, 40), (40, 80), (80, 120), (120, 240), (240, 1000)]
# Initialisiere Listen zur Speicherung der Ergebnisse
haeufigkeiten = []
klassenbreiten = []
besetzungsdichten = []
# Berechne die absolute Häufigkeit und die Klassenbreite für jede Klasse
for klasse in klassen:
untergrenze, obergrenze = klasse
mask = (df[spalte_fuer_histogramm] >= untergrenze) & (df[spalte_fuer_histogramm] < obergrenze)
haeufigkeit = sum(mask)
breite = obergrenze - untergrenze

# Berechne die absolute Besetzungsdichte
besetzungsdichte = haeufigkeit / breite
# Speichere die Ergebnisse in den entsprechenden Listen
haeufigkeiten.append(haeufigkeit)
klassenbreiten.append(breite)
besetzungsdichten.append(besetzungsdichte)
# Ausgabe der Ergebnisse im Terminal mit Rechenweg
for i, klasse in enumerate(klassen):
untergrenze, obergrenze = klasse
print(f"Klasse {i+1}:")
print(f" - Unter- und Obergrenze: {untergrenze} - {obergrenze}")
print(f" - Häufigkeit: {haeufigkeiten}")
print(f" - Klassenbreite: {klassenbreiten}")
print(f" - Absolute Besetzungsdichte: {besetzungsdichten:.2f}")
print()
# Erstelle das Histogramm
klassenmitte = [(untergrenze + obergrenze) / 2 for untergrenze, obergrenze in klassen]
plt.bar(klassenmitte, besetzungsdichten, width=klassenbreiten, edgecolor='k')
# Titel und Beschriftungen hinzufügen
plt.title("Histogramm des Netto-Haushaltseinkommens")
plt.xlabel("Einkommen")
plt.ylabel("Absolute Besetzungsdichte")
# Zeige das Histogramm an
plt.show()
 

Anhänge

  • Bildschirmfoto 2024-01-30 um 16.13.24.png
    Bildschirmfoto 2024-01-30 um 16.13.24.png
    36,9 KB · Aufrufe: 120
  • Bildschirmfoto 2024-01-30 um 16.13.30.png
    Bildschirmfoto 2024-01-30 um 16.13.30.png
    53,5 KB · Aufrufe: 122
  • Bildschirmfoto 2024-01-30 um 16.17.40.png
    Bildschirmfoto 2024-01-30 um 16.17.40.png
    122,6 KB · Aufrufe: 118
Ich programmiere selber kaum, verstehe aber exakt was sein problem ist, da ich mit Blender (python) oft genau das gleiche problem habe. Da kommt eine 10 auch vor der 2. Ihr seid doch nur neugierig was es an seinem code noch zu meckern gibt. ^^

Frage: "wie lese ich werte exakt nach ihrer id aus und nicht nach ihrer summe oder nur teilwert" ergibt folgendes Ergebnis:


Vllt hilft es ja.
 
du haust hier einen Code rein, der von Chatgpt generiert wurde, und wir sollen den Fehler nun finden?
 
  • Gefällt mir
Reaktionen: konkretor, Myron, guzzisti und 4 andere
Kleiner Tipp noch. Code in [CODE=python][/CODE] Klammern zur besseren Leserlichkeit
 
  • Gefällt mir
Reaktionen: Bug91 und Hyourinmaru
Ich wünsche mir noch die Ausgangsdaten. Also was in "Kundendaten.xlsx" drinsteht.
 
es geht einzig und alleine um die frage wie ich in meinem python das so codieren kann das tatächlich nur die werte von 10 bis unter 40 betrachtet werden und nicht alle zahlen ausgelesen werden die eine 10 - 40 enthalten haben
 
Kann es sein, dass die Exceldaten als Text eingelesen werden und die Zahlen erstmal in Integer konvertiert werden müssen?
Habe in Python noch nicht mit Excel gearbeitet. Aber Eingaben in Entry-widgets sind definitiv immer erstmal strings.


ChatGPT erzeugt leider sehr viel Müll. Ich programmiere auch ein größeres Berechnungstool und was da teilweise auf Anfragen für ein Blödsinn kommt ist wenig hilfreich...
Manchmal hilft es, um einen Hinweis zur Lösung zu erhalten, ja.

Die Aufgabe ist, das Thema mit ChatGPT zu lösen? Irgendwie etwas sinnfrei.
 
Zuletzt bearbeitet:
Dzesi schrieb:
Deinem? Ich dachte eine KI hätte den Code verfasst?

Dzesi schrieb:
es geht einzig und alleine um die frage wie ich in meinem python das so codieren kann das tatächlich nur die werte von 10 bis unter 40 betrachtet werden und nicht alle zahlen ausgelesen werden die eine 10 - 40 enthalten haben
Wenn du dir da absolut sicher bist, dann benötigst du keine Hilfe.
Ernsthaft: Ich vermute, dass irgendwas beim Einlesen misslingt. Deshalb würde ich gerne die Daten sehen.
 
  • Gefällt mir
Reaktionen: tRITON
Ist es überhaupt explizit gewollt das ihr ChatGPT verwendet? Ich halte es für Pädagogisch fragwürdig und viel Müll kommt leider bei ChatGPT auch raus.
 
  • Gefällt mir
Reaktionen: DEADBEEF
die Datei ist Leider zu groß aber um sich das besser vorstellen zu können gibt es die Variable Income und dadrunter dann 5000 Ausprägungen mit 10, 13, 110 usw
 
Frag ChatGPT doch mal, ob die Exceldaten so überhaupt als Integer und nicht als String behandelt werden.
Wobei die mathematischen Operationen dann fehlschlagen müssten
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben