при печати info () в Pandas в отчете записи и порядковый номер не совпадают - PullRequest
0 голосов
/ 09 декабря 2018

на ноутбуке Jupyter, который я напечатал df.info (), результат равен

print(df.info())   

<class 'pandas.core.frame.DataFrame'>
Int64Index: 20620 entries, 0 to 24867
Data columns (total 3 columns):
neighborhood    20620 non-null object
bedrooms        20620 non-null float64
price           20620 non-null float64
dtypes: float64(2), object(1)
memory usage: 644.4+ KB

, почему он показывает 20620 записей от 0 до 24867?Последний номер (24867) должен быть 20620 или 20619

1 Ответ

0 голосов
/ 09 декабря 2018

Это означает, что не все возможные значения индекса были использованы.Например,

In [13]: df = pd.DataFrame([10,20], index=[0,100])

In [14]: df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2 entries, 0 to 100
Data columns (total 1 columns):
0    2 non-null int64
dtypes: int64(1)
memory usage: 32.0 bytes

df имеет 2 записи, но Int64Index «колеблется» от 0 до 100.

Фреймы данных могут легко завершиться так, если строки были удалены, илиесли df является под-фреймом другого DataFrame.

Если вы сбросите индекс, метки индекса будут перенумерованы в порядке, начиная с 0:

In [17]: df.reset_index(drop=True)
Out[17]: 
    0
0  10
1  20

In [18]: df.reset_index(drop=True).info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 1 columns):
0    2 non-null int64
dtypes: int64(1)
memory usage: 96.0 bytes

Чтобы быть более точным, как Крис указывает , строка

Int64Index: 2 entries, 0 to 100

просто сообщает первое и последнее значение в Int64Index.Это не сообщает минимальные или максимальные значения.В индексе могут быть более высокие или более низкие целые числа:

In [32]: pd.DataFrame([10,20,30], index=[50,0,50]).info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3 entries, 50 to 50  # notice index value 0 is not mentioned
Data columns (total 1 columns):
0    3 non-null int64
dtypes: int64(1)
memory usage: 48.0 bytes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...