Vergleich von .loc/.iloc mit Tupeln und verketteter Indizierung

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Vergleich von .loc/.iloc mit Tupeln und verketteter Indizierung

by Guest » 31 Dec 2024, 14:50

Code: Select all

import pandas as pd

# Creating a DataFrame with some sample data
data = {
'Name': [Jason, 'Emma', 'Alex', 'Sarah'],
'Age': [28, 24, 32, 27],
'City': ['New York', 'London', 'Paris', 'Tokyo'],
'Salary': [75000, 65000, 85000, 70000]
}

df = pd.DataFrame(data)

# Display the DataFrame
print(df)

I want to update Jason’s age, and I do so with

df['Age'][df['Name'] == 'Jason'] = 29
Bei Code wie dem oben gezeigten Code kann es sein, dass der df Jasons Alter auf 29 aktualisiert, aufgrund der verwendeten verketteten Indizierung.
In der Dokumentation https://pandas.pydata.org/pandas-docs/s ... ersus-copy wird erwähnt, dass .iloc/.loc eine bessere Option ist. Zum Beispiel so etwas wie das Folgende.

Code: Select all

df.loc[df['Name'] == 'Jason', 'Age'] = 29
Es ist jedoch nicht klar, welche Best Practices für Tupel wie die folgenden gelten.

Code: Select all

df[('Age', df['Name'] == 'Jason')] = 29
Ich versuche zu verstehen, wie sich die Verwendung von Tupeln mit der Verwendung von .iloc/.loc und der Verwendung von verketteter Indizierung im Kontext von Best Practices in Pandas vergleichen lässt. Zu den Überlegungen können zeitliche Komplexität, räumliche Komplexität, Codelesbarkeit usw. gehören.

Top