使用Pandas求和时遭遇KeyError: '14 Day Total Sales'问题求助
解决Pandas中KeyError: '14 Day Total Sales'的问题
这个错误的核心原因是你的DataFrame中既不存在名为'14 Day Total Sales'的列,也不存在以此为值的行索引,所以不管用df2['列名']还是df2.loc['行索引']都会触发KeyError。可以按以下步骤排查解决:
先明确DataFrame的结构,打印列名和行索引,确认目标名称的位置:
# 查看所有列名 print(df2.columns.tolist()) # 查看所有行索引 print(df2.index.tolist())运行后就能清楚'14 Day Total Sales'到底属于列还是行,或者是否存在拼写错误。
检查名称的拼写细节:比如是否有多余空格、大小写不一致(比如写成了'14 day total sales')、全角/半角空格差异。可以用模糊匹配快速定位类似名称:
# 查找包含关键词的列名 [col for col in df2.columns if '14 Day' in col] # 查找包含关键词的行索引 [idx for idx in df2.index if '14 Day' in idx]如果确认目标是列名但仍报错,可能是列名带有不可见字符(比如全角空格、制表符),可以先清理列名:
df2.columns = df2.columns.str.strip() # 清理后再尝试求和 total_sales = df2['14 Day Total Sales'].sum()另外你提到"数据中df2.loc['14 Day Total Sales']的情况如图所示",如果图中显示这是一行数据,那说明行索引里理论上应该有这个值,但实际报错可能是索引值存在格式问题(比如带了隐藏符号、大小写差异),可以用打印行索引的方式确认实际值。
内容的提问来源于stack exchange,提问作者Raphael Hen
相关产品推荐
相关产品推荐

