I don't understand why python's id() function returns different values for an element in a pandas' dataframe
The dataframe looks like this:
>>>df
A B
0 1 2
1 4 5
2 3 6
And the result of the function is the following:
>>> id(df.loc[0].A)
140079556632464
>>> id(df.loc[0].A)
140079556632440
>>> id(df.loc[0].A)
140079556632416
>>> id(df.loc[0].A)
140079556632464
>>> id(df.loc[0].A)
140079556632440
>>> id(df.loc[0].A)
140079556632416
Shouldn't the function return always the same value? Is this related to some internal implementation of pandas or is it fundamental to python?