2017-01-26 87 views
2

我正在使用熊猫并尝试用另一个值替换值。我究竟做错了什么?使用熊猫更改列值

Source 

Drive-By 
Referral 
Website 
Radio 

我的片段:

import pandas as pd 

second = pd.read_csv('T:/pythonfiles/result2.csv') 
second['Source'] = second['Source'].replace('Drive-By', 'Drive-by') 

错误:

File "pandas/src/hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13161) 
File "pandas/src/hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13115) 
KeyError: 'Source' 
+6

'KeyError:'Source''表示Source不是数据文件中的有效标头名称。你确定你的列名是否正确? – Chuck

+2

您可以在读取CSV文件('read_csv()'...)后输出'print(second.columns.tolist())' - 这将有助于理解您的列有什么问题 – MaxU

+0

Thanks @查尔斯莫里斯。 Source前面有一个分号。 –

回答

1

我相信你可以使用以下作为this answer发现:

second.replace({'Drive-By': 'Drive-by'}, regex=True) 

这通常取代所有的价值列,但如果您没有在其他列中重复出现的“Drive-By”,则应该可以正常工作。

但是,您的错误消息表明您在“表”中没有将“源”识别为键的问题。