鱼C论坛

 找回密码
 立即注册
查看: 3468|回复: 1

[已解决]pandas raise KeyError(key) from err KeyError: ('付款城市', '中心')

[复制链接]
发表于 2022-2-22 09:09:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
提取两个字段出错,代码如下
import pandas as pd
# dataset = pd.read_excel("03.xlsx")
data = pd.read_excel("03.xlsx",index_col=0)
print(data.head(3))
data = data["付款城市","中心"]
print(data.head(3))

下面是打印的内容
               中心  客服
付款城市         
鞍山      鞍山-库  李明
常州      常州-库  李明
大连     大连-库  李明

报错如下
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\indexes\base.py", line 3361, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas\_libs\index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ('付款城市', '中心')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/pythonProject/osfolderfile/pandas/pandas03xlsx.py", line 16, in <module>
    data = data["付款城市","中心"]
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\frame.py", line 3455, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: ('付款城市', '中心')

请问这个是啥情况
最佳答案
2022-2-22 15:33:11
本帖最后由 isdkz 于 2022-2-22 15:53 编辑

列名不能是索引列,且提取多列要用列表,不能是元组
import pandas as pd
# dataset = pd.read_excel("03.xlsx")        # 把 index_col=0 去掉
data = pd.read_excel("03.xlsx")
print(data.head(3))
data = data[["付款城市","中心"]]             # 加上 []
print(data.head(3))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-22 15:33:11 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-2-22 15:53 编辑

列名不能是索引列,且提取多列要用列表,不能是元组
import pandas as pd
# dataset = pd.read_excel("03.xlsx")        # 把 index_col=0 去掉
data = pd.read_excel("03.xlsx")
print(data.head(3))
data = data[["付款城市","中心"]]             # 加上 []
print(data.head(3))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 06:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表