#python #pandas #transformation #denormalization
#python #pandas #преобразование #денормализация
Вопрос:
Я пытаюсь взять столбец значений, таких как:
name tag
a 1
a 2
b 2
c 1
b 3
и приписать булеву матрицу с новыми столбцами, «tag_ (val)», например:
name tag_1 tag_2 tag_3
a T T F
b F T T
c T F F
Как это можно сделать в Pandas?
Ответ №1:
Вы могли бы добавить столбец, заполненный True
, а затем повернуть:
>>> df["val"] = True
>>> piv = df.pivot("name", "tag", "val").fillna(False)
>>> piv
tag 1 2 3
name
a True True False
b False True True
c True False False
Или, если вы очень разборчивы:
>>> piv.columns = ["tag_{}".format(x) for x in piv.columns]
>>> piv = piv.reset_index()
>>> piv
name tag_1 tag_2 tag_3
0 a True True False
1 b False True True
2 c True False False