Path: csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail From: Stefan Schwarzer Newsgroups: de.comp.lang.python Subject: Re: [Python-de] Verstaendnisproblem Date: Thu, 11 Feb 2021 13:19:56 +0100 Lines: 73 Message-ID: References: <2763401.e9J7NaK4W3@host.fritz.box> <1a1fb6e2-6050-27c4-60c2-7715153217c2@sschwarzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de L3VYPYMJ5XAbauChORVgew3iLDKDp+sw28sqxCUqJz/g== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org Authentication-Results: mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 In-Reply-To: <2763401.e9J7NaK4W3@host.fritz.box> Content-Language: de-DE X-Provags-ID: V03:K1:38alPQd6d0all41XKL1+P8RR/4GSus+UVx9yxwYRAXj7YmQPZzo 5XFt0sfEEzrihxt5ZIMbrYihOgfRLSOLX6twTj1kE0g2rgWrsGurSdqApAMhdmW25AYhHVz Om9kY9P5Wr9KI3RpchK71LHtFw9XnrXo5KTTUKOI0Q2RrXGrpFuSxLei8HQbzW0VcoZAdxy zoh9292sbwNqpZeC0zdxA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:wGpe1DsWV/Q=:xq7QtaD2mVn7smEsN60PKI t6R0FPTDGj757mN59L4x33sNZ2LPn+wpdNKiiHWsG5oYgQUG9GD9gcmHh2sdYDHSm/vRBvAlA I/XjLySGi0vMHHwpzzLM65v7XIzARyOUKMHvOyJmgl5TndXRxfddxiAaWLm4GaYyHYj7gFJqB ZAL28NP7wUpXmRycG6w+TwjzJoWQj0d25YwxuwFBA9z0/WH8Qnw0fF5bkhLRUxqVBxFB12Kty VfZXJ8C7VIekd7MMxkuY/OTgMPCIFcDobqyqzGr6Cg1e29VSW9HLNYAd9tmW2CYmuCYunR9Wi FJ4qxsyILHehd2KTwcrW8ZTqVJ0egmclQmT1rSiMVG5ckt8/KmY+3f/qvSn7ldhDMxqu4omGC 1fgSL8YYq8Ogj3ZWOw2yQIZOgu78tLh/iChv7lCaNG16ygNxBmYf62joEgj1ruGxLILno9BQt M/9MkYXU3A== X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <1a1fb6e2-6050-27c4-60c2-7715153217c2@sschwarzer.net> X-Mailman-Original-References: <2763401.e9J7NaK4W3@host.fritz.box> Xref: csiph.com de.comp.lang.python:5707 On 2021-02-11 12:35, eilfh wrote: > bin noch Anfänger in python, > vielleicht sieht ein Profi mit einem Blick, wo mein Fehler liegt > > Bsp. > > x1 = df.loc[df.A == '7', 'Z1'] > #print(x1) # okay, z.Bsp. 99 > x2 = 120 > x3 = 3 > x4 = df.loc[df.A == '8', 'Z1'] > #print(x4) # okay, z.Bsp. 77 > > > d1 = x2 - x1 # okay 21 > d2 = x4 - x3 # okay 74 > > aber: > d3 = d2 - d1 # ---> NaN > oder > d4 = (x2 - x1 + x4 - x3) # ---> NaN Aus der Verwendung von `df.loc` schließe ich, dass es um ein pandas DataFrame geht. Wenn ich mit In [28]: df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) In [29]: df Out[29]: A B 0 1 4 1 2 5 2 3 6 In [30]: df.loc[df.A == 1, 'B'] Out[30]: 0 4 Name: B, dtype: int64 einen Zugriff ähnlich wie in deinem Beispiel eingebe, bekomme ich keinen Skalar, sondern ein `pandas.Series`- Objekt. Ich _vermute_ daher, dass du das Beispiel zu sehr vereinfacht hast bzw. in deiner Mail etwas steht, was sich nicht mit der tatsächlichen Abfolge der Befehle deckt. Dass du NaNs bekommst, obwohl an derselben Stelle mutmaßlich andere Werte stehen sollten, weckt bei mir den Eindruck, dass du Slices hast, die dieselben Speicherstellen referenzieren, wie sie im ursprünglichen DataFrame stehen und dass du das DataFrame verändert hast und danach wieder auf deine Slices guckst, die auf die neuen Werte im DataFrame verweisen. Diese Assoziation deckt sich aber nicht mit deinem Beispiel. Ich glaube, das beste ist, wenn du eine Python-Datei mit einem minimalen Beispiel erzeugst, das bei Ausführung der Datei die mutmaßlich falsche Ausgabe zeigt. Wenn du die Befehle dagegen in einem Jupyter Notebook ausführst, musst du sehr aufpassen, weil der Zustand des Notebooks von der Folge deiner ausgeführten Befehle abhängt, nicht von der Reihenfolge der Zellen im Notebook. So gesehen, also keine Lösung deines Problems, aber vielleicht ein paar nützliche Hinweise zu dessen Ergründung. :-) Es würde mich interessieren, ob es weiterhilft. Viele Grüße Stefan