Re: Verstaendnisproblem
Peter Otten <__peter__-S0/[email protected]>
| Newsgroups | gmane.comp.python.general.german |
|---|---|
| Message-ID | <[email protected]> |
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
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