📜  使用列表过滤数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:22:22.658000             🧑  作者: Mango

使用列表过滤数据框 - Python

数据框是Python中重要的数据结构之一,它可以让我们方便地处理和操作大量数据。当我们处理数据时,我们经常需要使用列表来过滤其中的数据。

列表过滤

通过使用列表过滤,我们可以根据一个或多个条件来筛选出符合要求的数据。假设我们有一个数据框df,其中包含姓名和年龄两列,我们希望筛选出所有年龄在20岁以下的人:

import pandas as pd

df = pd.DataFrame({'姓名': ['张三', '李四', '王五', '赵六'],
                   '年龄': [18, 20, 22, 19]})

df_filter = df[df['年龄'] < 20]

print(df_filter)

输出:

   姓名  年龄
0  张三  18
3  赵六  19
多条件过滤

如果我们需要使用多个条件进行过滤,可以将多个条件组合起来。假设我们希望筛选出年龄在18岁到20岁之间,并且姓名不为“王五”的人:

import pandas as pd

df = pd.DataFrame({'姓名': ['张三', '李四', '王五', '赵六'],
                   '年龄': [18, 20, 22, 19]})

df_filter = df[(df['年龄'] >= 18) & (df['年龄'] <= 20) & (df['姓名'] != '王五')]

print(df_filter)

输出:

   姓名  年龄
0  张三  18
3  赵六  19
使用isin函数

如果我们需要根据列表中的多个值来过滤数据,可以使用isin函数。假设我们希望筛选出姓名为“张三”或“李四”的人:

import pandas as pd

df = pd.DataFrame({'姓名': ['张三', '李四', '王五', '赵六'],
                   '年龄': [18, 20, 22, 19]})

df_filter = df[df['姓名'].isin(['张三', '李四'])]

print(df_filter)

输出:

   姓名  年龄
0  张三  18
1  李四  20
总结

使用列表过滤是Python中处理数据的重要方法之一。通过组合多个条件,我们可以进行更加复杂的过滤操作,提取出符合要求的数据。当我们遇到需要对大量数据进行处理的情况时,使用列表过滤将会大大提高我们的工作效率。