Добавление новой строки в фрейм данных - почему .loc [len (df)] вместо .iloc [len (df)]? - PullRequest
0 голосов
/ 30 мая 2018

Допустим, нам дан простой кадр данных для панд:

df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})

Я хотел бы добавить новую строку в этот кадр данных.Почему не работает следующий подход?

df.iloc[len(df)]=[9,9]

Интересно, что все работает нормально, если вместо этого мы используем .loc[], даже если len(df) является целым числом, а .iloc[] используется для целочисленного расположенияна основе индексации, в отличие от .loc[].

1 Ответ

0 голосов
/ 30 мая 2018

Вы используете присвоение индекса, которое равно loc, а не iloc Из документа .iloc вызовет IndexError, если запрошенный индексатор выходит за пределы

df.loc[len(df)]=[9,9]
df
Out[349]: 
   A  B
0  1  4
1  2  5
2  3  6
3  9  9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...