为啥我收到此错误关键字:自治市镇

Posted

技术标签:

【中文标题】为啥我收到此错误关键字:自治市镇【英文标题】:Why i am getting this error keyword:Borough为什么我收到此错误关键字:自治市镇 【发布时间】:2020-01-16 22:57:36 【问题描述】:

我是 Python 的初学者。我合并了两个 columnsAfter,我试图将一个列的“未分配”值更改为另一个列值。我不能那样做。如果我使用premodified dataframe,那么我可以更改。

我从页面中抓取了一个表格,然后修改了该数据框中的数据。

import pandas as pd
import numpy as np
import requests

pip 安装 lxml

toronto_url='https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M'

toronto_df1= pd.read_html('https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M')[0]

toronto_df1.head()

toronto_df1.drop(toronto_df1.loc[toronto_df1['Borough']=="Not assigned"].index, inplace=True)

toronto_df2=toronto_df1.groupby(['Postcode','Borough'],sort=False).agg(lambda x: ','.join(x))

toronto_df2.loc[toronto_df2['Neighbourhood'] == "Not assigned", 'Neighbourhood'] = toronto_df2['Borough']

这是我使用的代码。

我希望用自治市镇的价值来改变街区价值。

我收到了这个错误。

KeyError Traceback(最近调用 最后的) /usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py 在 get_loc(self, key, method, tolerance) 2656 尝试: -> 2657 return self._engine.get_loc(key) 2658 除了 KeyError:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi 在 pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi 在 pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: '自治市镇'

在处理上述异常的过程中,又发生了一个异常:

KeyError Traceback(最近调用 最后)9帧 /usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py 在 get_loc(self, key, method, tolerance) 2657 返回 self._engine.get_loc(key) 2658 除了 KeyError: -> 2659 返回 self._engine.get_loc(self._maybe_cast_indexer(key)) 2660 indexer = self.get_indexer([key],method=method,tolerance=tolerance) 2661 如果 indexer.ndim > 1 或 indexer.size > 1:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi 在 pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi 在 pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: '自治市镇'

【问题讨论】:

检查数据集中的“自治市镇”列是否与您所写的完全一致。即使任一端的额外空间也可能导致KeyError 【参考方案1】:

您的keyerror 的原因是Neighbourhood 不是列,而是索引级别,解决方案是添加reset_index

toronto_df1= pd.read_html('https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M')[0]

#boolean indexing        
toronto_df1 = toronto_df1.loc[toronto_df1['Borough']!="Not assigned"]
toronto_df2 = toronto_df1.groupby(['Postcode','Borough'],sort=False)['Neighbourhood'].agg(','.join).reset_index()
toronto_df2.loc[toronto_df2['Neighbourhood'] == "Not assigned", 'Neighbourhood'] = toronto_df2['Borough']

或参数as_index=Falsegroupby

toronto_df1= pd.read_html('https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M')[0]

#boolean indexing  
toronto_df1 = toronto_df1.loc[toronto_df1['Borough']!="Not assigned"]
toronto_df2=toronto_df1.groupby(['Postcode','Borough'],sort=False, as_index=False)['Neighbourhood'].agg(','.join)
toronto_df2.loc[toronto_df2['Neighbourhood'] == "Not assigned", 'Neighbourhood'] = toronto_df2['Borough']

【讨论】:

非常感谢!我已经尝试过重置索引。但不知何故,它不起作用。但是 as_index=False 起作用了。再次感谢您。

以上是关于为啥我收到此错误关键字:自治市镇的主要内容,如果未能解决你的问题,请参考以下文章

为啥我收到此错误,responseSerializationFailed?

为啥我收到此错误? KeyError:“没有”

无效的字典 0 )。为啥我收到此错误?

为啥我会收到此错误:“不支持此功能(数字商品)。”?

为啥我收到此代码的错误? [复制]

为啥我在 django 教程中收到此模板错误?