Атрибут iat
Атрибут iat применяется к объекту DataFrame
и позволяет получить или изменить значение в одной ячейке,
используя целочисленные индексы строки и столбца.
В отличие от at, который работает с метками,
iat оперирует позициями: первый индекс - номер строки,
второй - номер столбца. Это делает его самым быстрым способом
доступа к ячейке для операций с целочисленными индексами.
Синтаксис
df.iat[row_index, col_index]
Пример
Получим значение ячейки на пересечении второй строки и первого столбца:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.iat[1, 0]
print(res)
Результат выполнения кода:
2
Пример
Изменим значение ячейки в третьей строке и втором столбце:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
df.iat[2, 1] = 100
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 100
3 4 40
4 5 50
Пример
Попытка доступа по отрицательным индексам вызовет ошибку, так как
iat, в отличие от iloc, не поддерживает их:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
try:
res = df.iat[-1, 0]
except IndexError as e:
print("IndexError:", e)
Результат выполнения кода:
"IndexError: index -1 is out of bounds for axis 0 with size 5"