#python #logistic-regression
Вопрос:
Я пытаюсь преобразовать нижеприведенную таблицу из смешанного типа данных в числовой
Акционер | Продукт (CWS) | Кредитная связь |
---|---|---|
Уход за Партнером | Webroot | БР-1278 |
NOC — PST | RMM — Запрос сценариев | BR-1460 |
Я попытался использовать приведенный ниже код
«данные[«Заинтересованная сторона»] = pd.to_numeric(данные[«Заинтересованная сторона»], ошибки=»принуждение»).тип(«Int64″)»
и вывод-это преобразование столбца в пустые ячейки и 0 в несколько.
Комментарии:
1. Я попытался использовать » данные [«Заинтересованная сторона»] = pd.to_numeric(данные [«Заинтересованная сторона»], ошибки= «принуждение»). astype («Int64″)», но вывод кажется неправильным. Я приношу извинения, если это неправильный способ поместить код в комментарий
2. пожалуйста, укажите свой код и выходные данные в вопросе
3. Чего вы пытаетесь достичь. Столбец «Заинтересованная сторона» содержит только строки. Почему вы хотите преобразовать его в int? Каков ваш ожидаемый результат? Существуют ли только две разные заинтересованные стороны, и одной из них следует назначить a
1
, а другой a0
?4. @FredMaster есть еще заинтересованные стороны, продукты, я только что добавил 2 из них в качестве примера, и я пытаюсь преобразовать все столбцы в числовые. можно ли прикрепить файл данных exel здесь
5. Но на основе какой логики вы хотите преобразовать его в 0 и 1? Например, «Забота о партнере» должна быть присвоена 1 или 0?
Ответ №1:
Я не совсем уверен, что ты хочешь сделать.
Проблема в том, что вы не можете преобразовать произвольную строку в int, используя astype
, потому что неясно, во что, например, следует преобразовать «abc».
Преобразование в 0
и 1
Но вы могли try
бы проверить, возможно ли преобразование. Если нет: ты задаешь 0
Что-то вроде этого:
def convert_to_int(col):
numbers = []
for el in col:
try:
int(el) # Check if conversion to int is possible
number = 1 # assign 1 if conversion successful
except:
number = 0 # else: assign a 0
numbers.append(number)
return numbers
# Example data
data = {"Stakeholder":["Partner Care", "NOC - PST", "12", "0", "Other Stakeholder"]}
df = pd.DataFrame(data)
# Convered df
df["Stakeholder_ints"] = convert_to_int(df["Stakeholder"])
Преобразование в числовые категории
from sklearn.preprocessing import LabelEncoder
data = {"Stakeholder":["Partner Care", "NOC - PST", "12", "0", "Other Stakeholder"]}
df = pd.DataFrame(data)
col = df["Stakeholder"]
le = LabelEncoder()
df["Stakeholder_cats"] = le.fit_transform(col)
Комментарии:
1. Я обязательно попробую это сделать, к сожалению, я не могу попробовать сейчас, я свяжусь с вами с результатами к субботе…..спасибо за быстрый ответ. Я хотел бы поднять голос или поднять большой палец за вашу быструю помощь
2. Я не понимал, что столбец имеет целочисленное значение в столбце заинтересованных сторон «NOC — R1 Soft».