Python pandas groupby分组时对应列存在却抛出KeyError问题求助
报错原因
你报错的核心原因是操作对象的结构匹配错误:
- 你执行
summarydata["Name"]时,已经从原DataFrame中提取出了仅包含Name列的Series对象,这个对象不包含原DataFrame的任何其他列,哪怕原DataFrame确实存在Tag列,在这个单独的Series中也找不到该列,因此调用groupby(["Tag"])时必然抛出KeyError。 - 你之前的校验逻辑是检查原DataFrame summarydata的列中是否存在
Tag,所以返回为true,和你报错时的操作对象不是同一个。
正确写法
如果你的需求是按Tag列分组,统计每个分组下Name列的条目数,调整代码顺序即可:
summarydata.groupby("Tag")["Name"].size()
核心逻辑是:先对整个DataFrame按Tag分组,再从分组结果中提取Name列做统计,这样分组时可以正常识别到原DataFrame中的Tag列。
内容的提问来源于stack exchange,提问作者user16928153
相关产品推荐
相关产品推荐

