No Pandas, o método .iloc fornece uma cópia ou visualização?

Acho que o resultado é um pouco aleatório. Às vezes é uma cópia, às vezes é uma visão. Por exemplo:

df = pd.DataFrame([{'name':'Marry', 'age':21},{'name':'John','age':24}],index=['student1','student2'])

df
              age   name
   student1   21  Marry
   student2   24   John

Agora, deixe-me tentar modificá-lo um pouco.

df2= df.loc['student1']
df2 [0] = 23
df
              age   name
   student1   21  Marry
   student2   24   John

Como você pode ver, nada mudou. DF2 é uma cópia. No entanto, se eu adicionar outro aluno ao quadro de dados ...

df.loc['student3'] = ['old','Tom']
df
               age   name
    student1   21  Marry
    student2   24   John
    student3  old    Tom

Tente mudar a idade novamente ..

df3=df.loc['student1']
df3[0]=33
df
               age   name
    student1   33  Marry
    student2   24   John
    student3  old    Tom

Agora o df3 tornou-se subitamente uma visão. O que está acontecendo? Eu acho que o valor 'antigo' é a chave?

questionAnswers(2)

yourAnswerToTheQuestion