DevGang
Авторизоваться

Как отфильтровать DataFrame Pandas: 5 простых методов для начинающих

Фильтрация DataFrame Pandas включает выбор конкретных строк, которые соответствуют точным условиям. Это особенно полезно для широкого спектра случаев использования Python. В данных временных рядов мы можем фильтровать данные по определенным временным интервалам. Кроме того, для улучшения качества данных мы можем выполнить фильтрацию для удаления строк с отсутствующими данными, что поможет в дальнейшем анализе. Кроме того, когда мы работаем с машинным обучением, нам приходится фильтровать строки на основе определенных функций, что создает подмножества для тестирования.

Метод фильтрации фрейма данных Pandas в Python

Для фильтрации Pandas DataFrame давайте сначала создадим DataFrame, используя CSV-файл:

import pandas as pd 
df = pd.read_csv('recent-grads.csv')
print(df.shape)
df.head()

Здесь мы сначала импортировали pandas как pd, затем создали DataFrame, используя файл CSV, имя файла CSV — recent-grads.csv, и после этого мы напечатали df.shape и заголовок DataFrame, используя df.head( )

Вывод:

Методы фильтрации DataFrame Pandas в Python приведены ниже:

  • Фильтрация DataFrame с использованием Boolean Masking
  • Фильтрация DataFrame с использованием loc()
  • Фильтрация DataFrame с использованием query()
  • Фильтрация DataFrame с использованием iloc()
  • Фильтрация DataFrame с использованием isnull()

Фильтрация DataFrame с использованием Boolean Masking

Мы можем использовать метод логической маски для фильтрации DataFrame, указав условия.

Пример 1:

import pandas as pd 
df1 = df[ df['Major_category'] == 'Social Science' ] 
print(df1.shape)
df1.head()

Здесь мы создали условие df['Major_category'] == 'Social Science' означает, что везде, где столбец Major_category равен 'Social Science', тогда эти строки будут возвращены. Мы сохранили результат в новом DataFrame df1, а затем распечатали размер и заголовок DataFrame df1.

Вывод:

Пример 2:

import pandas as pd 
filter_criteria = (df['Major_category'] == 'Social Science') & (df['ShareWomen'] >= .5)
df1m = df[filter_criteria]
print(df1m.shape)
df1m.head()

Здесь мы создали условие df[‘Major_category’] == ‘Social Science’ &(df[‘ShareWomen’] >= .5 означает, что в любом месте столбец Major_categeory равен значению Social Science, а ShareWomen больше и равен 0,5, т.е. условие выполнено, тогда эти строки будут возвращены.

Вывод:

Фильтрация DataFrame с использованием метода loc()

Мы можем использовать метод loc(), в который мы поместим определенные условия для фильтрации DataFrame. Используя его, мы можем вернуть конкретные столбцы, которые нам нужны.

import pandas as pd 
filter_criteria = (df['Major_category'] == 'Social Science') & (df['ShareWomen'] >= .5)
df2 = df.loc[filter_criteria,'Part_time']
df2.head()

Здесь мы вернули строки только из столбца Part_time, которые соответствуют условию (df[‘Major_category’] == ‘Social Science’) & (df[‘ShareWomen’] >= .5)

Вывод:

Фильтрация DataFrame с использованием метода query()

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

import pandas as pd 
df3 = df.query("Major_category == 'Social Science' & ShareWomen >= .5")
print(df3.shape)
df3.head()

Здесь мы написали df3 = df.query(“Major_category == ‘Social Science’ & ShareWomen >= .5”) означает, что везде, где столбец Major_categeory равен Social Science, а ShareWomen больше и равен 0,5, тогда эти строки будут возвращены.

Вывод:

Фильтрация DataFrame с использованием метода iloc()

Мы можем фильтровать DataFrame с помощью метода iloc(), где нам нужно указать индекс строк и столбцов вместо имени.

import pandas as pd 
df4 = df.iloc[ :10, 2:6]
print(df4.shape)
df4.head()

Здесь мы написали df4 = df.iloc[:10, 2:6] означает, что мы вернули первые 10 строк и столбцов со 2 по 6 в DataFrame df4.

Вывод:

Фильтрация DataFrame с использованием метода isnull()

Мы можем отфильтровать недостающие данные из DataFrame с помощью метода isnull()

import pandas as pd 
df5 = df[df['Total'].isnull()]
print(df5.shape)
df5.head()

Здесь мы вернули те строки из DataFrame, в которых в столбце Total отсутствуют значения.

Вывод:

Заключение

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

Ссылки

https://stackoverflow.com/questions/71811188/filtering-pandas-dataframe-in-python

Источник:

#Python #Pandas
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу