Python-Pandas: Ersetzen Sie Werte basierend auf dem Speicherort, nicht auf dem Indexwert.

Hier ist mein df:

In[12]: df  = pd.DataFrame(data = list("aabbcc"), columns = ["s"], index=range(11,17))
In[13]: df
Out[13]: 
    s
11  a
12  a
13  b
14  b
15  c
16  c

Nun, Werte basierend auf Indexwerten ersetzen:

In[14]: df.loc[11, "s"] = 'A'
In[15]: df
Out[15]: 
    s
11  A
12  a
13  b
14  b
15  c
16  c
In[16]: df.ix[12, "s"] = 'B'
In[17]: df
Out[17]: 
    s
11  A
12  B
13  b
14  b
15  c
16  c

Ist es möglich, dasselbe basierend auf der Position und nicht dem Indexwert zu tun, so etwas, aber es zeigt ValueError ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]):

In[18]: df.iloc[1, "s"] = 'b'

Und wenn ich so etwas versuche:

df.s.iloc[1] = "b"

Ich bekomme diese Warnung:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage