Измените некоторые столбцы данных с помощью панд - PullRequest
0 голосов
/ 22 мая 2018

Я использую Pandas, и мне нужно изменить некоторые столбцы (столбцы продуктов), в которых должны быть цифры, но некоторые записи являются пробелами или буквенно-цифровыми символами.Я хочу преобразовать все нечисловые записи (включая пробелы и NaN) в 0.Вот мой код (я использую spyder):

Tracker = tracker_master[['Name','Month','Year','Date','Owner',
                              'Account_Name','Opp','Proposed_Solution',
                              'Product1','Product2','Product3','Product4','Product5','Signed_Date','Stage','timestamp']]

Tracker_final = Tracker[(Tracker.Year==2018) & (Tracker.Month.isin(['April','May','June','July','August'])) & 
                             (Tracker.Stage.isin(['Inked','Approved']))]

Tracker_final[['Product1','Product2','Product3','Product4','Product5']].apply(pd.to_numeric, errors='coerce').fillna(0)

Tracker_final.to_excel(r'W:\mydrive\B\TrackerFinal.xlsx', index=False) 

Когда я пытаюсь запустить этот код, я все равно получаю NaN для столбцов Product.Что я делаю не так?

1 Ответ

0 голосов
/ 22 мая 2018

Похоже, вам просто нужно присвоить обратно подкадру выбранных вами столбцов:

cols = ['Product'+str(i) for i in range(1, 6)]

Tracker_final[cols] = Tracker_final[cols].apply(pd.to_numeric, errors='coerce').fillna(0)

Если это не работает, обновите ваш вопрос, включив в него примеры данных, которые повторяют вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...