Re: Verstaendnisproblem

Peter Otten <__peter__-S0/[email protected]>
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
On 11/02/2021 18:29, eilfh wrote:
> Am Donnerstag, 11. Februar 2021, 13:19:56 CET schrieb Stefan Schwarzer:
> Hallo, Stefan
> 
> vielen Dank für Deine schnelle Antwort
> 
> 
> 
> Vorhanden sind (neben Anfängerwissen über python, pandas & co.)
> 
> eine (Excel-)Tabelle mit Zählerständen zu konkreten Terminen,
> die ich in ein pandas-Dataframe eingelesen habe.
> 
> Mit df...shift(1) kann ich die Differenzen zwischen Zählerablesungen bestimmen.
> 
> 
> 
> Gelegentlich wird auch ein Zähler ausgetauscht.
> 
> x1 sei die letzte Ablesung vor dem Tausch
> x2, x3 seien Ausbau- bzw. Einbauzählerstand
> x4 erste Ablesung nach dem Tausch
> (x5 sei die (Zeit-)Differenz zischen den beiden routinemäßigen Ablesungen.)
> 
> 
> Der neu zu berechnende Verbrauch wäre dann
> 
> v = (x2 - x1 + x4 - x3) / x5
> 
> 
> 
>> bekomme ich keinen Skalar, sondern ein `pandas.Series`- Objekt.
> 
> Du hast recht, das war ein entscheidender Hinweis!
> 
> statt:
> x1 = df.loc[df.Datum == '1993-09-09', 'Spalte_7']
> ---> 55  490
> 
> besser:
> x1 = df.at[55, 'Spalte_7']
> ---> 490    (der gesuchte Skalar)
> 
> 
> aber woher/womit erfahre ich die "rowid" 55 ?

Brauchst Du denn die Zeile? Eine Series mit genau einem Wert

 >>> x
0    4
Name: B, dtype: int64
 >>> type(x)
<class 'pandas.core.series.Series'>


kannst Du einfach entpacken

 >>> [y] = x
 >>> y
4
 >>> type(y)
<class 'int'>

oder wenn du weißt, dass Du z. B. eine Fließkommazahl erwartest, direkt 
konvertieren:

 >>> float(x)
4.0

_______________________________________________
python-de maillist  -  [email protected]
https://mail.python.org/mailman/listinfo/python-de
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.