Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误:哈希表键错误_Python_Pandas_Dataframe - Fatal编程技术网

Python 错误:哈希表键错误

Python 错误:哈希表键错误,python,pandas,dataframe,Python,Pandas,Dataframe,我已使用pandas成功读取csv文件。当我试图从数据帧打印特定列时,我得到了keyerror。在此,我与错误分享代码 import pandas as pd reviews_new = pd.read_csv("D:\\aviva.csv") reviews_new['review'] ** reviews\u new['review'] 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 评论新的[“评论”] 文件“C:\Users\30216\AppData\Local\Continu

我已使用pandas成功读取csv文件。当我试图从数据帧打印特定列时,我得到了keyerror。在此,我与错误分享代码

import pandas as pd
reviews_new = pd.read_csv("D:\\aviva.csv")
reviews_new['review']
**

reviews\u new['review']
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
评论新的[“评论”]
文件“C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site packages\pandas\core\frame.py”,第1997行,在u getitem中__
返回self.\u getitem\u列(键)
文件“C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site packages\pandas\core\frame.py”,第2004行,在\u getitem\u列中
返回self.\u获取\u项目\u缓存(密钥)
文件“C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site packages\pandas\core\generic.py”,第1350行,在\u get\u item\u缓存中
values=self.\u data.get(项目)
get中的文件“C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site packages\pandas\core\internals.py”,第3290行
loc=自身项目。获取loc(项目)
文件“C:\Users\30216\AppData\Local\Continuum\Anaconda2\lib\site packages\pandas\index\base.py”,第1947行,在get\u loc中
返回self.\u引擎。获取\u loc(self.\u可能\u cast\u索引器(键))
文件“pandas\index.pyx”,第137行,在pandas.index.IndexEngine.get_loc(pandas\index.c:4154)中
pandas.index.IndexEngine.get_loc(pandas\index.c:4018)中第159行的文件“pandas\index.pyx”
pandas.hashtable.PyObjectHashTable.get_项(pandas\hashtable.c:12368)中第675行的文件“pandas\hashtable.pyx”
pandas.hashtable.PyObjectHashTable.get_项(pandas\hashtable.c:12322)中第683行的文件“pandas\hashtable.pyx”
KeyError:'review'
**


有人能帮我一下吗?

我认为首先最好调查一下,什么是真正的列名,如果转换为列表更好,可以看到一些空白或类似的内容:

print (reviews_new.columns.tolist())

我认为可能有两个问题(显然):

1.列名称中的空格(也可能在数据中)

解决方案是列名中的空白:

reviews_new.columns = reviews_new.columns.str.strip()
或将参数
skipinitialspace
添加到:

2.不同的分隔符作为默认值

解决方案是添加参数
sep

#sep is ;
reviews_new = pd.read_csv("D:\\aviva.csv", sep=';')
#sep is whitespace
reviews_new = pd.read_csv("D:\\aviva.csv", sep='\s+')
reviews_new = pd.read_csv("D:\\aviva.csv", delim_whitespace=True)
编辑:

列名中有空格,因此需要
1。解决方案

print (reviews_new.columns.tolist())
['Name', ' Date', ' review'] 
          ^        ^

什么是打印(reviews\u new.columns.tolist())?原始csv实际上是什么样子的?
打印(reviews\u new.columns.tolist())
显示什么?您的列名中可能有空格。请共享
reviews\u new.info()
的输出。如果列名不在csv中,您必须提供列名。请粘贴reviews_new.columns@jezrael&edchum:print(reviews_new.columns.tolist())的输出['Name','Date','review']
#sep is ;
reviews_new = pd.read_csv("D:\\aviva.csv", sep=';')
#sep is whitespace
reviews_new = pd.read_csv("D:\\aviva.csv", sep='\s+')
reviews_new = pd.read_csv("D:\\aviva.csv", delim_whitespace=True)
print (reviews_new.columns.tolist())
['Name', ' Date', ' review'] 
          ^        ^
import pandas as pd
df=pd.read_csv("file.txt", skipinitialspace=True)
df.head()
df['review']
dfObj['Hash Key'] = (dfObj['DEAL_ID'].map(str) +dfObj['COST_CODE'].map(str) +dfObj['TRADE_ID'].map(str)).apply(hash)

#for index, row in dfObj.iterrows():
#        dfObj.loc[`enter code here`index,'hash'] = hashlib.md5(str(row[['COST_CODE','TRADE_ID']].values)).hexdigest()

print(dfObj['hash'])