KeyError更改数据框中的列

时间:2019-11-30 08:58:54

标签: python pandas dataframe dataset keyerror

我试图更改列或处理列,但遇到一些keyError错误。从事芝加哥犯罪数据分析。 例如,当我尝试运行此行

ds [“发生日期”] = pd.to_datetime([ds [“发生日期”]],format =“%m /%d /%Y%I:%M:%S% p“)

KeyError跟踪(最近一次通话最近) get_loc中的/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py(自身,键,方法,公差)

这是完整的代码:

#print(header)
>>> foo 5

#print(len(header))
>>> 10

这是错误:

  

2896尝试:   -> 2897返回self._engine.get_loc(key)2898,除了KeyError:

     pandas._libs.index.IndexEngine.get_loc()中的

pandas / _libs / index.pyx

     pandas._libs.index.IndexEngine.get_loc()中的

pandas / _libs / index.pyx

     

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跟踪(最近的呼叫   最后)2帧   /usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py在   get_loc(self,key,method,tolerance)2897返回   self._engine.get_loc(key)2898,除了KeyError:   -> 2899返回self._engine.get_loc(self._maybe_cast_indexer(key))2900
  索引器= self.get_indexer([键],方法=方法,公差=公差)   2901如果indexer.ndim> 1或indexer.size> 1:

     pandas._libs.index.IndexEngine.get_loc()中的

pandas / _libs / index.pyx

     pandas._libs.index.IndexEngine.get_loc()中的

pandas / _libs / index.pyx

     

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:“发生日期”

1 个答案:

答案 0 :(得分:0)

您的列已重命名,因此需要Crime_Date并为[]仅选择一列Series

ds["Crime_Date"] = pd.to_datetime(ds["Crime_Date"], format="%m/%d/%Y %I:%M:%S %p")

编辑:

列名中有一些空格,因此需要:

ds["DATE  OF OCCURRENCE"] = pd.to_datetime(ds["DATE  OF OCCURRENCE"], format="%m/%d/%Y %I:%M:%S %p")