You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas调用DataFrame多列报错:KeyError问题求助

解决KeyError问题:正确选择DataFrame列并获取前10长歌曲

错误原因

你用df.loc[['duration_min','name']]会报错,是因为loc的语法规则:df.loc[行筛选条件, 列筛选条件]。当你只传一个列表参数时,它会默认把这个列表当成行索引值去匹配,而你的DataFrame索引里根本没有duration_min和name这两个值,所以触发了KeyError。

正确写法

方法1:用loc明确指定行和列

冒号:代表选择所有行,后面的列表指定要提取的列:

# 假设你已经按duration_min降序排好序
df.loc[:, ['duration_min', 'name']].head(10)

方法2:直接用方括号选列(更简洁)

如果不需要复杂的行筛选,直接用方括号选择列列表更简单:

df[['duration_min', 'name']].head(10)

完整流程参考

如果还没完成排序,完整代码应该是这样:

# 按时长降序排序
df_sorted = df.sort_values(by='duration_min', ascending=False)
# 提取前10行的指定列
top_10_songs = df_sorted[['duration_min', 'name']].head(10)

内容的提问来源于stack exchange,提问作者faithodiaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:31:04