Разделение значений с числами в списке строк в python - PullRequest
2 голосов
/ 07 марта 2020
dataframe_name[new_column_name] = intany(char.isdigit() for char in dataframe_name[existing_column_name])

или

for i in range(0, len(data_frame))):
    dataframe_name[new_column_name][i] = int(any(char.isdigit() for char in dataframe_name[existing_column_name][i]))

Пожалуйста, помогите мне понять разницу между двумя вышеуказанными кодами. В то время как первый дает неправильный результат (он дает только значения False и True в новом столбце), последний работает для меня, но только частично. Он не преобразует True & False в 1 & 0 соответственно, несмотря на использование int ().

1 Ответ

1 голос
/ 07 марта 2020

Если я правильно понял, вы хотите вернуть 0 для условия и 1 для другого, вы можете сделать это

def int_condition(existing_column_name, i):
  return 1 if any(char.isdigit() for char in dataframe_name[existing_column_name][i]) else 0

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