@ Никсон прав, что iloc
и loc
хороши для такого рода вещей
import pandas as pd
# Original series
ser1 = pd.Series([10, 9, 8, 7], index=[1,2,3,4])
ser2 = ser1.copy()
ser3 = ser1.copy()
# I want to change ser1 to be [10, 1, 2, 7]
# One way
ser2.iloc[1:3] = [1,2]
ser2 # [10, 1, 2, 7]
# Another way
ser3.loc[2, 3] = [1,2]
ser3 # [10, 1, 2, 7]
Почему два разных метода?
Как этот пост довольно хорошо объясняет, главное различие между loc
и iloc
- это метки против позиции.Моя личная запись - если вы пытаетесь внести коррективы на основе позиции с нулевым индексом значения, используйте iloc
, иначе loc
.YMMV