为何Pandas中列表变量可作loc参数,直接写列表却报错?
Pandas loc方法KeyError问题解决
你出错的核心是列名列表的格式写错了:
- 能正常运行的代码里,
cols = ['country', 'variety']是包含两个独立字符串元素的列表,每个元素对应DataFrame里的一列,Pandas能正确匹配列名。 - 报错的代码里,
['country, variety']是只包含单个字符串的列表,这个字符串是country, variety——而你的DataFrame里根本没有叫这个名字的列,所以Pandas抛出KeyError,提示找不到对应列。
修正后的正确代码:
df = reviews.loc[:99, ['country', 'variety']]
和你用变量cols时的格式一致,把两个列名分别用引号包裹,作为列表的两个独立元素即可。
内容的提问来源于stack exchange,提问作者Archit Mishra
相关产品推荐
相关产品推荐

