2017-01-26 3 views
2

Я использую pandas и пытаюсь заменить значение другим значением. Что я делаю не так?Изменение значений столбцов с использованием pandas

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

Не могли бы вы вывести вывод 'print (second.columns.tolist())' после чтения CSV-файла ('read_csv()' ...) - это поможет понять, что не так с вашими столбцами – MaxU

+0

Спасибо @ Чарльз Моррис. Рядом с Источником находится точка с запятой. –

ответ

1

Я считаю, что вы можете использовать следующие как найдено в this answer:

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

Это, как правило, заменить стоимость во всех столбцы, но если у вас нет «Drive-By», повторяющихся в других столбцах, это должно работать нормально.

Однако ваше сообщение об ошибке указывает на то, что у вас есть проблемы с «Источником», который не распознается в качестве ключа в таблице.

Смежные вопросы