Richtige Art und Weise zu verwenden iloc in Pandas

Habe ich Folgendes dataframe df:

print(df)

    Food         Taste
0   Apple        NaN
1   Banana       NaN
2   Candy        NaN
3   Milk         NaN
4   Bread        NaN
5   Strawberry   NaN

Ich versuche, ersetzen von Werten in einer Reihe von Zeilen mit iloc:

df.Taste.iloc[0:2] = 'good'
df.Taste.iloc[2:6] = 'bad'

Aber es gab die folgende SettingWithCopyWarning Nachricht:

SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame

So, ich fand diese Stackoverflow-Seite und versuchte dies:

df.iloc[0:2, 'Taste'] = 'good'
df.iloc[2:6, 'Taste'] = 'bad'

Leider folgenden Fehler zurückgegeben:

ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]

Was wäre die richtige Art und Weise zu verwenden iloc in dieser situation? Auch, gibt es eine Möglichkeit, kombinieren diese beiden Zeilen oben?

InformationsquelleAutor supernovaee | 2017-02-09

Schreibe einen Kommentar