我知道首先我要将csv文件的内容分配给数据帧,但我不明白lambda函数究竟做了什么来不选择值为'的行。无'在' Fat'柱。
data = pd.read_csv('data.csv',delimiter=';')
filtered_data = data[lambda row:row.Fat != 'None']
答案 0 :(得分:4)
它正在使用数据框的selection by callable功能。您可以传递可调用的(例如函数)作为索引来选择子集。
lambda
只是创建函数的简写,即。你也可以写:
def is_fat(row):
return row.Fat != 'None'
并使用该函数进行索引:
filtered_data = data[is_fat]
正如您所看到的,lambda
函数基本上会返回False
列'None'
中Fat
的行,True
。