Мне нужно сделать атрибуцию идентификатора для пустых полей, но я должен использовать идентификаторы из некоторого класса, чтобы выполнить это правильно.
С помощью приведенного ниже кода я смог выполнить это.
, но есть некоторые проблемы
- 1 - у меня несколько «vendorname», поэтому мне нужно сделатьэто для всех них
- 2 - В каждом "vendorname" есть 3 разных класса, низкий средний, ядро
- 3 - Я не знаю, как получить всю эту кампанию, в сочетании с оригиналомДатафрейм в конце.
cw:
lead_date vendorname captureurl campaignid
2019-10-01 Google Lib_Core_HAS 0000000001
2019-10-01 Google Lib_Core_Generic Nan
2019-10-01 Google Lib_Core_Bagde Nan
2019-10-01 Google Lib_Core_Generic Nan
2019-10-01 Google Lib_Core_Generic 0000000001
2019-10-01 Google Medium_Generic 0000000002
2019-10-01 Google Medium_Generic Nan
2019-10-01 Google Medium_Generic Nan
2019-10-01 Google rt:Low_Generic 0000000003
2019-10-01 Facebook Lib_Core_Generic 0000000004
2019-10-01 Facebook Lib_Core_Generic Nan
2019-10-01 Facebook Lib_Core_Generic 0000000005
Мой подход:
- Я собрал все записи, содержащие «google»
- Затем схватил все, содержащие «Core»
- Затем укажите идентификатор, соответствующий этой записи
# for Core at google
google = cw[cw.vendorname.str.contains('Google')]
x = google[google.captureurl.str.contains('Core')]
x.campaignid = x.campaignid.fillna("0000000001")
Ожидаемый результат
lead_date vendorname captureurl campaignid
2019-10-01 Google Lib_Core_HAS 0000000001
2019-10-01 Google Lib_Core_Generic 0000000001
2019-10-01 Google Lib_Core_Bagde 0000000001
2019-10-01 Google Lib_Core_Generic 0000000001
2019-10-01 Google Lib_Core_Generic 0000000001
2019-10-01 Google Medium_Generic 0000000002
2019-10-01 Google Medium_Generic 0000000002
2019-10-01 Google Medium_Generic 0000000002
2019-10-01 Google rt:Low_Generic 0000000003
2019-10-01 Facebook Lib_Core_Generic 0000000004
2019-10-01 Facebook Lib_Core_Generic 0000000005
2019-10-01 Facebook Lib_Core_Generic 0000000005