Длина индекса предполагает разное количество строк по сравнению с перебором и печатью индекса в Pandas DF

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

У меня есть фрейм данных Pandas. Количество строк:

 len(df.index)
  

529

Кроме того, форма показывает:

 df.shape
  

(529, 5)

Но если я переберу:

 for i in df.index:
    print(i)
  

Он печатает:

 0
1
2
...
728
729
732
  

Предлагается 732 строки. То же самое с iterrows():

 for ind, col in df.iterrows():
    print(ind)
  

Он печатает:

 0
1
2
...
728
729
732
  

Комментарии:

1. Попробуйте len([i for i in df.reset_index(drop=True).index]) , это должно дать тот же результат

Ответ №1:

Похоже, что ваши индексы не обязательно являются последовательными — например, у вас есть

 729
732
  

Я предполагаю, что вы отфильтровали больший фрейм данных?

Ответ №2:

Как вы видите, индекс может переходить, например 729 , в 732 . Ваши данные выглядят примерно так:

 df = pd.DataFrame(np.arange(10).reshape(5,2), index=[0,1,4,5,10])
  

что:

     0  1
0   0  1
1   2  3
4   4  5
5   6  7
10  8  9
  

Значения индекса не охватывают все целочисленные (диапазонные) значения.