#pandas
Вопрос:
Я пытаюсь разобраться в модуле Pandas и начал изучать структуру данных серии.
Я создал следующую серию в Spyder :-
songs = pd.Series(data = [145,142,38,13], name = "Count")
Я могу получить информацию об индексе серии, используя код:-
songs.index
Вывод приведенного выше кода выглядит следующим образом:-
Мой вопрос в том, где он указывает Start = 0 и Stop = 4, к чему это относится? Я интерпретировал start = 0, так как первый элемент в ряду находится в строке 0. Но я не уверен, к какому значению остановки относится, поскольку в строке 4 серии нет элементов? Может ли кто-нибудь объяснить?
Спасибо.
Комментарии:
1. Это в основном то же
range(start=0, stop=4, step=1)
самое, что значение вstop
аргументе не включено, вот почему вы видите0, 1, 2, 3
.2. RangeIndex является верхним не включающим, это точно такое же поведение, как у диапазона python.
Ответ №1:
Эта концепция, как уже было адекватно объяснено в комментариях (индексация составляет минус единицу от количества элементов), распространена во многих местах.
Например, возьмем структуру данных списка-
z = songs.to_list()
[145, 142, 38, 13]
len(z)
4 # length is four
# however indexing stops at i-1 position 'i' being the length/count of items in the list.
z[4] # this will raise an IndexError
# you will have to start at index 0 going till only index 3 (i.e. 4 items)
z[0], z[1], z[2], z[-1] # notice how -1 can be used to directly access the last element