Python I';我很难理解这行代码是如何过滤熊猫数据帧的;s行

Python I';我很难理解这行代码是如何过滤熊猫数据帧的;s行,python,pandas,filter,Python,Pandas,Filter,我知道首先我要将csv文件的内容分配给数据帧,但我不知道lambda函数到底在做什么,不选择“Fat”列中值为“None”的行 data = pd.read_csv('data.csv',delimiter=';') filtered_data = data[lambda row:row.Fat != 'None'] 它使用数据帧的特性。您可以传递一个可调用(如函数)作为索引来选择子集 lambda只是创建函数的简写,即,您还可以编写: def is_fat(row): return

我知道首先我要将csv文件的内容分配给数据帧,但我不知道lambda函数到底在做什么,不选择“Fat”列中值为“None”的行

data = pd.read_csv('data.csv',delimiter=';')

filtered_data = data[lambda row:row.Fat != 'None']
它使用数据帧的特性。您可以传递一个可调用(如函数)作为索引来选择子集

lambda
只是创建函数的简写,即,您还可以编写:

def is_fat(row):
    return row.Fat != 'None'
并使用该功能编制索引:

filtered_data = data[is_fat]
如您所见,
lambda
函数基本上会为列
Fat
中包含
'None'
的行返回
False
,否则返回
True

它使用的是数据帧的特性。您可以传递一个可调用(如函数)作为索引来选择子集

lambda
只是创建函数的简写,即,您还可以编写:

def is_fat(row):
    return row.Fat != 'None'
并使用该功能编制索引:

filtered_data = data[is_fat]

如您所见,
lambda
函数基本上会为列
Fat
中有
'None'
的行返回
False
,否则返回
True

lambda
函数作为匿名函数,就在代码中。与函数
def filter\u none(行)比较:如果value.Fat!='无其他错误
。因此,对于每一行,您都会得到一个
True
False
值,并且您的
数据
会被过滤掉。尽管我更喜欢像
filtered\u data=data[data.Fat!='None']
这样的东西,lambda作为匿名函数,就在代码中。与函数
def filter\u none(行)比较:如果value.Fat!='无其他错误
。因此,对于每一行,您都会得到一个
True
False
值,并且您的
数据
会被过滤掉。尽管我更喜欢像
filtered\u data=data[data.Fat!='None']