Фильтрация данных на основе определенных условий — распространенная задача при работе с фреймами данных в Python. В этой статье мы рассмотрим различные методы фильтрации кадров данных с использованием разных методов и предоставим примеры кода для каждого метода. Независимо от того, являетесь ли вы новичком или опытным аналитиком данных, эти методы помогут вам эффективно извлекать необходимые данные. Давайте погрузимся!
Метод 1: использование логического индексирования
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']})
# Filter dataframe based on condition
filtered_df = df[df['A'] > 3]
print(filtered_df)
Метод 2: использование функции query()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']})
# Filter dataframe based on condition
filtered_df = df.query('A > 3')
print(filtered_df)
Метод 3: использование функции loc[]
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']})
# Filter dataframe based on condition
filtered_df = df.loc[df['A'] > 3]
print(filtered_df)
Метод 4. Использование функцииwhere()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']})
# Filter dataframe based on condition
filtered_df = df.where(df['A'] > 3).dropna()
print(filtered_df)
Метод 5: использование функции isin()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']})
# Filter dataframe based on condition
filtered_df = df[df['B'].isin(['apple', 'banana'])]
print(filtered_df)
Метод 6: использование функции Between()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50]})
# Filter dataframe based on condition
filtered_df = df[df['B'].between(20, 40)]
print(filtered_df)
Метод 7. Использование функции apply()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']})
# Filter dataframe based on condition
filtered_df = df[df['B'].apply(lambda x: len(x) > 5)]
print(filtered_df)
Метод 8. Использование функции eval()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50]})
# Filter dataframe based on condition
filtered_df = df.eval('A > 3')
print(df[filtered_df])
Метод 9: использование функции маски()
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50]})
# Filter dataframe based on condition
filtered_df = df.mask(df['A'] > 3)
print(filtered_df)
Метод 10: использование функции query() с переменными
import pandas as pd
# Create a sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'carrot', 'banana', 'apple']]})
# Define condition variable
condition = 3
# Filter dataframe based on condition
filtered_df = df.query('A > @condition')
print(filtered_df)
Фильтрация кадров данных по условию — важный метод анализа и обработки данных. В этой статье мы рассмотрели десять мощных методов фильтрации кадров данных в Python, включая логическое индексирование, query(), loc[],where(), isin(), Between(), apply(), eval(), Mask(). и query() с переменными. Применяя эти методы, вы можете эффективно извлекать нужные данные из ваших фреймов данных в зависимости от конкретных условий. Поэкспериментируйте с этими методами, чтобы улучшить свои навыки анализа данных и упростить задачи по манипулированию данными, чем когда-либо прежде.
Не забудьте выбрать метод, который лучше всего соответствует вашим конкретным требованиям и целям анализа данных. Удачной фильтрации!