我正在做一个练习,并且有一个学校信息的数据集。我想按学年过滤数据,这样我就可以:
data['demographics'] = data['demographics'][data['demographics']['schoolyear'] == 20112012]我不太理解作业开始时的数据“人口统计”。
如果我只有:
data['demographics'] = [data['demographics']['schoolyear'] == 20112012]代码返回True或False,而不是表的实际数据。如何添加数据“人口统计”让Python意识到我想要返回数据而不是T/F?
发布于 2018-11-20 23:25:23
data['demographics']['schoolyear'] == 20112012会告诉你它们是否匹配。
因此,[data['demographics']['schoolyear'] == 20112012]为您提供了True或False的列表
所以,
data['demographics'][data['demographics']['schoolyear'] == 20112012]在包含True的位置提取data['demographics']的值。
也就是说,这会给出你想要的值。
发布于 2018-11-20 23:38:23
第一个赋值应该是抛出一个ValueError:值的长度与索引的长度不匹配。
数据‘人口统计’这只返回数据帧的‘人口统计’列,然后使用这个[数据‘人口统计’== 20112012]过滤‘人口统计’列,使得学年是20112012。
语句中的错误是,您试图将过滤后的数据分配给数据“人口统计”,因为过滤后的数据包含的元素少于数据“人口统计”。
我建议您将过滤后的数据赋给一个新的变量,如下所示。
filteredData = data['demographics'][data['demographics']['schoolyear'] == 20112012]https://stackoverflow.com/questions/53396193
复制相似问题