python中遇到IndexingError: Too many indexers错误

print(datas.loc[datas['最高薪资']>30,'工作地点',['岗位名称']])
---------------------------------------------------------------------------
IndexingError                             Traceback (most recent call last)
Input In [111], in <cell line: 1>()
----> 1 print(datas.loc[datas['最高薪资']>30,'工作地点',['岗位名称']])

File D:\python2\Anaconda\lib\site-packages\pandas\core\indexing.py:961, in _LocationIndexer.__getitem__(self, key)
    959     if self._is_scalar_access(key):
    960         return self.obj._get_value(*key, takeable=self._takeable)
--> 961     return self._getitem_tuple(key)
    962 else:
    963     # we by definition only have the 0th axis
    964     axis = self.axis or 0

File D:\python2\Anaconda\lib\site-packages\pandas\core\indexing.py:1143, in _LocIndexer._getitem_tuple(self, tup)
   1140     return self._getitem_lowerdim(tup)
   1142 # no multi-index, so validate all of the indexers
-> 1143 tup = self._validate_tuple_indexer(tup)
   1145 # ugly hack for GH #836
   1146 if self._multi_take_opportunity(tup):

File D:\python2\Anaconda\lib\site-packages\pandas\core\indexing.py:765, in _LocationIndexer._validate_tuple_indexer(self, key)
    761 def _validate_tuple_indexer(self, key: tuple) -> tuple:
    762     """
    763     Check the key for valid keys across my indexer.
    764     """
--> 765     key = self._validate_key_length(key)
    766     key = self._expand_ellipsis(key)
    767     for i, k in enumerate(key):

File D:\python2\Anaconda\lib\site-packages\pandas\core\indexing.py:812, in _LocationIndexer._validate_key_length(self, key)
    810             raise IndexingError(_one_ellipsis_message)
    811         return self._validate_key_length(key)
--> 812     raise IndexingError("Too many indexers")
    813 return key

IndexingError: Too many indexers

一开始尝试print(datas.loc[datas['最高薪资']>30,'工作地点')是可以成功输出的

我就想datas.loc[datas['xxx'],'xxx']里面的index应该只能放两个index

我查找有没有相同错误,看到别人分析可以用

print(CNC_Production.loc[:, ['StartTime', 'EndTime', 'dataTime', 'UpdateTime']])

但是我尝试如下操作错误

print(datas.loc[datas['最高薪资']>30,'工作地点',datas['岗位名称']])依然错误

然后又看到一篇文章(关于python:DataFrame.loc“索引过多” | 码农家园 (codenong.com))

尝试如下操作,成功

print(datas.loc[datas['最高薪资']>30,('工作地点','岗位名称')])
              工作地点                     岗位名称
0     南京·雨花台区·软件大道               分布式存储算法工程师
22      南京·建邺区·西善桥                java开发工程师
67     南京·雨花台区·铁心桥                     产品经理
91      南京·秦淮区·汉中路  保证无责任底薪8000 高薪急聘 银行贷款顾问
95      南京·秦淮区·新街口                    前端工程师
...            ...                      ...
6693    南京·雨花台区·小行                  软件开发工程师
6697  南京·雨花台区·软件大道                  软件开发工程师
6719   南京·雨花台区·铁心桥              JAVA软件开发工程师
6721  南京·雨花台区·南京南站           通用软件开发工程师(OD岗)
6961    南京·玄武区·长江路                    建筑设计师

[347 rows x 2 columns]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值