English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Основные операции Pandas Series
Структура Series是这样的:
pandas.Series(data, index, dtype, copy)
Параметры конструктора такие:
data: Данные могут быть в различных форматах, например ndarray, list, константы index: Значение индекса должно быть уникальным и хэшируемым, и длина должна быть равна длине данных. Если индекс не передан, то по умолчанию используется np.arange(n) dtype: dtype используется для типа данных. Если None, то тип данных будет вычислен автоматически copy: копировать данные. По умолчанию фальшиво
Series можно создавать с использованием различных входных данных, например
Array Dict Скалярное значение или константа
>>> # Импортировать пакет pandas и дать ему别名 >>> import pandas as pd >>> s = pd.Series() >>> print(s) Series([], dtype: float64)
Если данные являются ndarray, то переданный индекс должен иметь такое же количество элементов. Если индекс не передан, то по умолчанию индекс будет range(n), где n — длина массива, то есть [0, 1, 2, 3…]. Диапазон (len(array) - 1).
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd import numpy as np data = np.array(['a', 'b', 'c', 'd']) s = pd.Series(data) print(s)
Результат выполнения:
0 a 1 b 2 c 3 d dtype: object
Мы не передали ningún índice, поэтому по умолчанию он назначает диапазон индексов от 0 до len(data)-1, то есть от 0 до 3.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd import numpy as np data = np.array(['a', 'b', 'c', 'd']) s = pd.Series(data, index=[100, 101, 102, 103]) print(s)
Результат выполнения:
100 a 101 b 102 c 103 d dtype: object
Мы передали значения индекса. Теперь мы можем увидеть пользовательские значения индекса в выводе.
Словарь может быть передан в качестве входных данных. Если индекс не указан, все ключи словаря используются для создания индекса в порядке сортировки. Если передан индекс, значения данных для соответствующих меток индекса будут извлечены.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd import numpy as np data = {'a': 0., 'b': 1., 'c': 2.} s = pd.Series(data) print(s)
Результат выполнения:
a 0.0 b 1.0 c 2.0 dtype: float64
Ключи словаря используются для создания индекса.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd import numpy as np data = {
Результат выполнения:
b 1.0 c 2.0 d NaN a 0.0 dtype: float64
Порядок индексов сохраняется, отсутствующие элементы заполняются NaN (нечисловыми)
Если данные являются скалярным значением, то необходимо предоставить индекс. Это значение будет повторяться, чтобы соответствовать длине индекса
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd import numpy as np s = pd.Series(5, index=[0, 1, 2, 3]) print(s)
Результат выполнения:
0 5 1 5 2 5 3 5 dtype: int64
Данные в Series можно обращаться, как и в ndarray.
Искать первый элемент. Важно отметить, что счет элементов массива начинается с нуля, что означает, что первый элемент хранится в нулевой позиции, и так далее.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # Поиск первого элемента данных print(s[0])
Результат выполнения:
1
Поиск первых трёх элементов Series. Если добавить перед ними, то будут извлечены все проекты с этого индекса. Если использовать два параметра (разделенные :), то проекты между этими индексами (не включая конечный индекс)
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # Поиск первых трёх элементов print(s[:3])
Результат выполнения:
a 1 b 2 c 3 dtype: int64
Поиск последних трех элементов.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # Поиск последних трех элементов print(s[-3:])
Результат выполнения:
c 3 d 4 e 5 dtype: int64
Series behaves like a fixed-size dictionary and can get and set values by index labels.
Поиск одного элемента с помощью значения метки индекса.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd s = pd.Series([1,2,3,4,5],index = [
Результат выполнения:
1
Поиск нескольких элементов с помощью списка значений меток индекса.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd s = pd.Series([1,2,3,4,5],index = [
Результат выполнения:
a 1 c 3 d 4 dtype: int64
Если отсутствует метка, будет вызван исключение.
# Имя файла: pandas.py # Автор: ru.oldtoolbag.com # Импорт пакета pandas с别名 import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # Поиск нескольких элементов print(s['f'])
Результат выполнения:
... KeyError: 'f'