Подсчет и фильтрация строк в DataFrame Pandas

Чтобы подсчитать количество строк в DataFrame, вы можете использовать свойство shape или метод count().

DataFrame.shape возвращает кортеж, содержащий количество строк в качестве первого элемента и количество столбцов в качестве второго элемента. Индексируя первый элемент, мы можем получить количество строк в DataFrame.

DataFrame.count() со значениями параметров по умолчанию возвращает количество значений по каждому столбцу. Каждый столбец содержит одинаковое количество значений, равное количеству строк. Индексируя первый элемент, мы можем получить количество строк в DataFrame.

Пример 1: подсчет с помощью shape

В этом примере мы будем использовать свойство DataFrame.shape, чтобы получить количество строк.

import pandas as pd

#initialize dataframe
df = pd.DataFrame({'a': [1, 4, 7, 2], 'b': [2, 0, 8, 7]})

#number of rows in dataframe
num_rows = df.shape[0]

print('Number of Rows in DataFrame :',num_rows)

Вывод:

Number of Rows in DataFrame : 4

Пример 2: с помощью count()

В этом примере мы будем использовать метод count() для подсчета количества строк в DataFrame.

import pandas as pd

#initialize dataframe
df = pd.DataFrame({'a': [1, 4, 7, 2], 'b': [2, 0, 8, 7]})

#number of rows in dataframe
num_rows = df.count()[0]

print('Number of Rows in DataFrame :',num_rows)

Вывод:

Number of Rows in DataFrame : 4

В этом руководстве на примерах Python мы узнали, как подсчитать количество строк в заданном DataFrame разными способами с помощью примеров программ.

Фильтрации строк

Чтобы отфильтровать строки в DataFrame, вы можете использовать функцию isin(). Она возвращает логический DataFrame, который при использовании с исходным фильтрует строки, которые подчиняются критериям фильтра.

Вы также можете использовать query() для фильтрации строк, удовлетворяющих заданному логическому выражению.

Пример 1: с помощью isin()

В этом примере мы возьмем DataFrame с двумя столбцами с именами a, b и четырьмя строками. Мы будем фильтровать при условии, что значения столбца a лежат в заданном диапазоне.

import pandas as pd

#initialize dataframe
df = pd.DataFrame({'a': [2, 4, 8, 5], 'b': [2, 0, 9, 7]})

#check if the values of df['a'] are in the range(3,6)
out = df['a'].isin(range(3,6))

#filter dataframe
filtered_df = df[out]

print('Original DataFrame\n-------------------\n',df)
print('\nFiltered DataFrame\n-------------------\n',filtered_df)

Функция isin() возвращает True для строк, значения столбца в которых находятся в диапазоне (3,6). В противном случае функция возвращает false.

df [out] возвращает только те строки, значение которых равно True, что приводит к отфильтрованному выводу.

Вывод:

Original DataFrame
-------------------
    a  b
0  2  2
1  4  0
2  8  9
3  5  7

Filtered DataFrame
-------------------
    a  b
1  4  0
3  5  7

Пример 2: с помощью query()

В этом примере мы инициализируем DataFrame двумя столбцами a и b, содержащими четыре строки. Мы будем фильтровать те строки, у которых значение столбца b больше 4.

Мы будем использовать query() для фильтрации строк.

import pandas as pd

#initialize dataframe
df = pd.DataFrame({'a': [1, 4, 7, 2], 'b': [2, 0, 8, 7]})

#get rows where that b>4
filtered_df = df.query('b>4')

print('Original DataFrame\n-------------------\n',df)
print('\nFiltered DataFrame\n-------------------\n',filtered_df)

Вывод:

Original DataFrame
-------------------
    a  b
0  1  2
1  4  0
2  7  8
3  2  7

Filtered DataFrame
-------------------
    a  b
2  7  8
3  2  7

В этом руководстве на примерах Python мы узнали, как фильтровать DataFrame на основе условий, применяемых к значениям его столбцов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *