Я ищу решение для случая ниже:
Как мне повернуть df так, чтобы значения col стали столбцами, если df состоит только из одного измерения?
А как поступить, чтобы в каждом столбце, состоящем из этих строк, имелось значение 0 или 1 в зависимости от вхождений для каждого из них в предыдущем столбце?
Будет проще проиллюстрировать это.
Итак, из этого типа фрейма данных:
df =
DATA
cat1
dog1
cat2
dog2
cat3
dog3
...
к этому виду фрейма данных:
df =
Animal cat1 dog1 cat2 dog2 cat3 dog3 ...
cat1 1 0 0 0 0 0 ...
dog1 0 1 0 0 0 0 ...
cat2 0 0 1 0 0 0 ...
dog2 0 0 0 1 0 0 ...
cat3 0 0 0 0 1 0 ...
dog3 0 0 0 0 0 1 ...
...
cat1 1 0 0 0 0 0 ...
dog1 0 1 0 0 0 0 ...
Сначала я попытался собрать все уникальные значения, а затем изменил его до pd.DataFrame
, потому что это был массив np. Тогда я попытался использовать пивот. Я знаю, что он должен иметь такие аргументы, как «индекс», «столбец» и «значения», но в моем случае у меня есть только одно измерение (только один столбец).
to_reschape = df.Animal.unique()
type(to_reschape)
dataset = pd.DataFrame(to_reschape)
dataset.pivot()
KeyError: None