编程语言
首页 > 编程语言> > python-在熊猫中将列归一化为布尔矩阵?

python-在熊猫中将列归一化为布尔矩阵?

作者:互联网

我正在尝试采用一列值,例如:

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

如何在熊猫中做到这一点?

解决方法:

您可以添加一个充满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

标签:denormalization,pandas,transformation,python
来源: https://codeday.me/bug/20191029/1960010.html