python - 我无法理解这行代码如何过滤 Pandas 数据框的行

标签 python pandas filter

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

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

filtered_data = data[lambda row:row.Fat != 'None']

最佳答案

它正在使用 selection by callable数据框的特征。您可以传递一个可调用对象(例如函数)作为索引来选择一个子集。

lambda只是创建函数的简写,即。你也可以这样写:

def is_fat(row):
    return row.Fat != 'None'

并使用该函数进行索引:

filtered_data = data[is_fat]

如您所见,lambda函数基本上返回 False对于具有 'None' 的行在 Fat 栏中, 和 True否则。

关于python - 我无法理解这行代码如何过滤 Pandas 数据框的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40540450/

相关文章:

python - Pandas 转换多索引头

python - 在Python中查找与数据框元素列表相对应的索引列表

python - 序列化器: Customising nested relationships

python - 避免 python 中 'as' 语句的语法错误

python - 为什么仅列表中的 18 项会出现 "Too many indexed properties for entity"错误? (Python)

Java Web、Struts2过滤器,总是检查文件不存在,导致缓存泄漏

javascript - 查找字符串中第一个不重复的字符,这里有什么错误?

python - 如何运行克隆的 Django 项目?

python - 如何将字典转换为多级数据框?

javascript - 使用 select 选项仅显示第一个 <td> 的所需值 =""的表行