Лабораторная работа 6 Индексаци, сортировка и фильтрация


Доступ по индексу, выборка и фильтрация



бет3/10
Дата14.10.2023
өлшемі184.93 Kb.
#480761
түріЛабораторная работа
1   2   3   4   5   6   7   8   9   10
Лабораторная работа 6 Анализ данных

Доступ по индексу, выборка и фильтрация
Доступ по индексу к объекту Series (obj[...]) работает так же, как для массивов NumPy, с тем отличием, что индексами могут быть не только целые, но и любые значения из индекса объекта Series. Вот несколько примеров:

In [117]: obj = pd.Series(np.arange(4.), index=['a', 'b', 'c', 'd'])


In [118]: obj
Out[118]:
a 0.0
b 1.0
c 2.0
d 3.0
dtype: float64

In [119]: obj['b']


Out[119]: 1.0
In [120]: obj[1]
Out[120]: 1.0
In [121]: obj[2:4]
Out[121]:
c 2.0
d 3.0
dtype: float64
In [122]: obj[['b', 'a', 'd']]
Out[122]:
b 1.0
a 0.0
d 3.0
dtype: float64

In [123]: obj[[1, 3]]


Out[123]:
b 1.0
d 3.0
dtype: float64

In [124]: obj[obj < 2]


Out[124]:
a 0.0
b 1.0
dtype: float64

Вырезание с помощью меток отличается от обычного вырезания в Python тем, что конечная точка включается:

In [125]: obj['b':'c']


Out[125]:
b 1.0
c 2.0
dtype: float64


Установка с помощью этих методов модифицирует соответствующий участок Series:

In [126]: obj['b':'c'] = 5


In [127]: obj
Out[127]:
a 0.0
b 5.0
c 5.0
d 3.0
dtype: float64

Обращение по индексу к DataFrame предназначено для получения одного или нескольких столбцов путем задания одного значения или последовательности:


In [128]: data = pd.DataFrame(np.arange(16).reshape((4, 4)),


.....: index=['Ohio', 'Colorado', 'Utah', 'New York'],
.....: columns=['one', 'two', 'three', 'four'])
In [129]: data
Out[129]:
one two three four
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
In [130]: data['two']
Out[130]:
Ohio 1
Colorado 5
Utah 9
New York 13
Name: two, dtype: int64

In [131]: data[['three', 'one']]


Out[131]:
three one
Ohio 2 0
Colorado 6 4
rUtah 10 8
New York 14 12

У доступа по индексу есть несколько частных случаев. Во-первых, выборка или вырезание данных с помощью булева массива:


In [132]: data[:2]


Out[132]:
one two three four
Ohio 0 1 2 3
Colorado 4 5 6 7

In [133]: data[data['three'] > 5]


Out[133]:
one two three four
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15

Для удобства предоставляется специальный синтаксис выборки строк data[:2]. Если передать один элемент или список оператору [], то выбираются столбцы.


Еще одна возможность – доступ по индексу с помощью булева DataFrame, например, порожденного в результате скалярного сравнения:

In [134]: data < 5


Out[134]:
one two three four
Ohio True True True True
Colorado True False False False
Utah False False False False
New York False False False False

In [135]: data[data < 5] = 0


In [136]: data
Out[136]:
one two three four
Ohio 0 0 0 0
Colorado 0 5 6 7
Utah 8 9 10 11
New York 12 13 14 15

Это делает DataFrame синтаксически более похожим на ndarray в данном частном случае.




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет