Re: Verstaendnisproblem

Mike Müller <mmueller-Nw5JoyH4ZXncp1/[email protected]>
Newsgroups gmane.comp.python.general.german
Organization Python Academy GmbH & Co. KG
Message-ID <[email protected]>
Am 12.02.21 um 17:30 schrieb Peter Otten:
> On 12/02/2021 16:07, Stefan Schwarzer wrote:
>> On 2021-02-12 15:29, eilfh wrote:
>>> Am Donnerstag, 11. Februar 2021, 18:48:23 CET schrieb Peter Otten:
>>> Hallo, Peter
>>>
>>> danke für Deine Antwort.
>>>
>>> Das war das fehlende Puzzle in meinem Programm
>>>
>>>>   >>> x
>>>>
>>>> 0    4
>>>> Name: B, dtype: int64
>>>>
>>>>   >>> type(x)
>>>>
>>>> <class 'pandas.core.series.Series'>
>>>>
>>>>
>>>> kannst Du einfach entpacken
>>>>
>>>>   >>> [y] = x
>>>>   >>> y
>>>>
>>>> 4
>>>
>>>
>>> um ehrlich zu sein, ich versteh's zwar nicht,
>>> aber es läuft und erfüllte genau den Zweck
>>
>> Falls du `[y] = x` meinst, kann ich mir vorstellen, dass das
>> komisch aussieht. Das ist sogenanntes implizites "Tuple
>> unpacking", hier vielleicht eher "List unpacking". Du kannst
>> das auch als `y = x[0]` schreiben; ich denke, das ist klarer.
> 
> Wenn x vom Typ tuple oder list ist, gerne; aber pandas ist ziemlich komplex und 
> hält immer eine Überraschung bereit:
> 
>  >>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
>  >>> ser = df.loc[df.A == 1, "B"]
>  >>> ser[0]
> 4
> 
> Scheint zu funktionieren, ist aber Zufall:
> 
>  >>> ser = df.loc[df.A == 2, "B"]
>  >>> ser[0]
> Traceback (most recent call last):
> [...]
> KeyError: 0

Wenn du das erste Element möchtest solltest du den Zugriff "position based" [1]
machen:

 >>> ser.iloc[0]
5

Dagegen ist:

 >>> ser[0]

"label based"

und entspricht:

 >>> ser.loc[0]

Außerdem kann man nach `loc` und `iloc` besser googeln als nach `[y] = ser`. ;)

[1] 
https://pandas.pydata.org/docs/user_guide/indexing.html#different-choices-for-indexing

> 
> Mit Unpacking:
> 
>  >>> [y] = ser
>  >>> y
> 5
> 
> D. h. eine Series verhält sich beim Iterieren wie eine Liste, beim Lookup wie 
> ein dict.
> 
> _______________________________________________
> python-de maillist  -  [email protected]
> https://mail.python.org/mailman/listinfo/python-de

_______________________________________________
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.