If I initialize a new column to zeros:
df['key'] = 0
then:
df.loc[0]['key']
Out[538]: 0
but when I set it to a new value:
df.loc[0]['key'] = 1
Calling that entry still returns zero...
df.loc[0]['key']
Out[538]: 0
What is going on?
If I initialize a new column to zeros:
df['key'] = 0
then:
df.loc[0]['key']
Out[538]: 0
but when I set it to a new value:
df.loc[0]['key'] = 1
Calling that entry still returns zero...
df.loc[0]['key']
Out[538]: 0
What is going on?
df.loc[0]['key'] is a slice of df.loc[0], so you're setting a value on a slice, not the dataframe itself. Conversely .loc and .iloc refer back to the dataframe itself, so you should be able to update the original value if you call df.loc[0, 'key']=1.