Я решал подобную задачу и могу поделиться с тобой своим личным опытом. В данном случае мы имеем DataFrame с одним столбцом ‘whoAmI’, который содержит данные о том, является ли каждая строка роботом или человеком. Задача состоит в том, чтобы преобразовать этот столбец в one hot формат без использования функции get_dummies.Чтобы это сделать, я использовал функцию pandas.get_dummies, которая позволяет преобразовать категориальные переменные в one hot формат. Но, чтобы обойти требование не использовать get_dummies, я создал свою собственную функцию, которая выполняет ту же задачу.Вот как я сделал это⁚
python
import pandas as pd
import random
lst [‘robot’] * 10
lst [‘human’] * 10
random.shuffle(lst)
data pd.DataFrame({‘whoAmI’⁚ lst})
# Создаем словарь для хранения всех уникальных категорий
categories {}
for category in data[‘whoAmI’]⁚
if category not in categories⁚
categories[category] len(categories)
# Создаем новый DataFrame, состоящий из нулей
one_hot_data pd.DataFrame(0, indexrange(len(data)), columnscategories.keys)
# Заполняем новый DataFrame значениями 1 для каждой категории
for i, category in enumerate(data[‘whoAmI’])⁚
one_hot_data.loc[i, category] 1
# Соединяем новый DataFrame с исходным, удаляя исходный столбец ‘whoAmI’
data pd.concat([data.drop(‘whoAmI’, axis1)٫ one_hot_data]٫ axis1)
data.head
В результате, мы получаем новый DataFrame, в котором исходный столбец ‘whoAmI’ заменен на отдельные столбцы для каждой категории. Значение 1 в каждом столбце указывает, принадлежит ли данная строка к данной категории, а 0 ౼ нет.
Надеюсь, мой опыт поможет тебе в решении поставленной задачи!