Python支持布尔过滤。T/F vs.返回标签

2024-04-25 14:58:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个练习,有一个学校信息的数据集。我想按学年筛选数据,以便:

data['demographics'] = data['demographics'][data['demographics']['schoolyear'] == 20112012]

我不太了解作业开始时的数据。你知道吗

如果我有:

data['demographics'] = [data['demographics']['schoolyear'] == 20112012]

代码返回True或False,而不是表的实际数据。添加数据['demographics']如何让Python意识到我想要返回的是数据而不是T/F?你知道吗


Tags: 数据代码信息falsetruedata作业学校
2条回答

data['demographics']['schoolyear'] == 20112012告诉您它们是否匹配。你知道吗

所以,[data['demographics']['schoolyear'] == 20112012]给你一个TrueFalse的列表

所以

data['demographics'][data['demographics']['schoolyear'] == 20112012]

拉出data['demographics']的值,其中有True。你知道吗

也就是说,这给出了你想要的值。你知道吗

第一个赋值应该抛出ValueError:值的长度与索引的长度不匹配。你知道吗

data['demographics']仅返回数据框的'demographics'列,然后使用此[data['demographics']['schoolyear']==20112012]筛选'demographics'列,使学年为20112012。你知道吗

语句中的错误是您正试图将筛选后的数据分配给 数据['demographics'],因为过滤后的数据的元素少于数据['demographics']。你知道吗

我建议您将过滤后的数据分配给这样的新变量。你知道吗

filteredData = data['demographics'][data['demographics']['schoolyear'] == 20112012]

相关问题 更多 >