import pandas as pd idx = pd.Index(data=None, dtype=None, copy=False, name=None, tupleize_cols=True)
data=None
- значения индексных меток. Принимает 1-мерный массив данных, например список или numpy.ndarray
.dtype=None
- Если dtype=None
, то в data
ищется dtype
, который наилучшим образом соответствует данным. Если указан фактический dtype
, то он применяется к data
, если это безопасно. В противном случае будет выдана ошибка. По умолчанию dtype
- это object
.copy=False
- создает копию входного numpy.ndarray
.name=None
- имя, которое будет сохранено в индексе. Другими словами имя индекса.tupleize_cols=True
- Если значение равно True
, попытается создать мультииндекс, если это возможно.pandas.Index
Объект pandas.Index
представляет собой неизменяемую последовательность, которая используется для индексации и выравнивания.
Другими словами - это базовый объект, хранящий метки осей для всех объектов pandas
.
dtype numpy float16
.Объект
pandas.Index
принимают аргументы:index
конструкторы объектовpandas.Series
иpandas.DataFrame
иcolumns
объектаpandas.DataFrame
.
pandas.Index
Index.T
: возвращает транспонирование, которое по определению является self
.Index.array
: представляет собой ExtensionArray
данных, поддерживающих этот индекс.Index.dtype
: возвращает объект dtype
базовых данных.Index.has_duplicates
: проверяет, нет ли в индексе повторяющихся значений.Index.hasnans
: возвращает True
, если есть NaN
.Index.inferred_type
: возвращает строку типа, выведенного из значений.Index.is_monotonic_decreasing
: возвращает логическое значение, если значения равны или уменьшаются.Index.is_monotonic_increasing
: возвращает логическое значение, если значения равны или увеличиваются.Index.is_unique
: возвращает True
, если индекс имеет уникальные значения.Index.name
: возвращает имя индекса или MultiIndex
.Index.nbytes
: возвращает количество байтов в базовых данных.Index.ndim
: количество измерений базовых данных, по определению 1.Index.nlevels
: возвращает количество уровней.Index.shape
: возвращает кортеж формы базовых данных.Index.size
: возвращает количество элементов в базовых данных.Index.values
: возвращает массив, представляющий данные в индексе.>>> import pandas as pd # на основе списка чисел >>> pd.Index([1, 2, 3]) # Index([1, 2, 3], dtype='int64') # на основе списка строк >>> pd.Index(list('abc')) # Index(['a', 'b', 'c'], dtype='object') # с определенным типом >>> pd.Index([1, 2, 3], dtype="uint8") # Index([1, 2, 3], dtype='uint8') # на основе диапазона значений >>> pd.Index(list(range(0, 12, 2))) # Index([0, 2, 4, 6, 8, 10], dtype='int64')
DataFrame
>>> df = pd.DataFrame(np.random.randn(10, 4), columns=["A", "B", "C", "D"]) >>> df # A B C D # 0 1.256788 -1.178173 0.043192 -0.549144 # 1 0.356005 -2.266635 1.351355 0.198639 # 2 1.037683 -0.194164 -1.724755 0.408127 # 3 -0.061432 -0.500571 0.340309 -0.405382 # 4 0.918051 1.791983 -0.549686 -0.059720 # 5 1.963483 -1.212126 -1.192182 -1.271525 # 6 0.560851 1.679148 -0.513489 -0.691446 # 7 1.549550 1.570568 0.179642 2.111993 # 8 0.211066 -0.471180 0.295688 1.729719 # 9 0.397152 0.273011 1.096075 -0.119251 >>> df.index # RangeIndex(start=0, stop=10, step=1) # создаем новый индекс >>> df.index = pd.Index(list(range(0,20,2))) >>> df.index # Index([0, 2, 4, 6, 8, 10, 12, 14, 16, 18], dtype='int64')
Переиндексация
Series
работает подобным образомДополнительно смотрите реальный пример переиндексации индексных меток в виде строки с датой и временем во временные метки строк в материале "Анализ логов Nginx модулем pandas"