Ошибка типа: аргумент типа 'int' не повторяется (используется лямбда) - PullRequest
0 голосов
/ 22 января 2019

enter image description here

enter image description here

 nb_products_per_basket['order_canceled'] =            
 nb_products_per_basket['InvoiceNo'].apply(lambda x:int('C' in x))

У меня есть это:

TypeError: argument of type 'int' is not iterable

как это исправить?

1 Ответ

0 голосов
/ 22 января 2019

Существует проблема 1, множественные или все значения являются целыми числами в столбце InvoiceNo.

Возможное решение, если смешанные значения столбца (C находятся в других значениях, не показанных в данных примера), приводятся кstring s от astype:

nb_products_per_basket['order_canceled'] =            
nb_products_per_basket['InvoiceNo'].astype(str).apply(lambda x:int('C' in x))

Другое решение с str.contains:

nb_products_per_basket['order_canceled'] =            
nb_products_per_basket['InvoiceNo'].str.contains('C', na=False).astype(int)

Есливсе значения целые, нет C, поэтому всегда получайте 0.

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