Понимание Структуры данных серии Pandas

#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