我有一个pandas数据帧,其中列为"代码";(分类的(有100多个唯一值。我有多行用于相同的";名称";并且希望捕获与唯一的";名称";在一排。因此,我想将列";代码";其值为"0";计数器";。如何转置";代码";以这样的方式,下表:
名称 | Col1 | Col2 | >Col3 | 码
---|---|---|---|
Alice | td> | ||
Alice | td> | a2 | 3 |
Bob | td> | ||
9 | |||
Bob | td style="text-align:left;">Bob | /table> |
我还不能发表评论,但上面的答案(来自Yuca(应该对你有用——你可以将数据透视表分配给一个变量,它将成为你的数据帧。你也可以肯定地使用Pandas使其成为一个数据帧:
import pandas as pd
Pivoted = df.pivot(index='Name', columns='Code', values='Counter').fillna(0)
dataframe = pd.Dataframe (data = Pivoted)
尝试
df.pivot(index='Name', columns='Code', values='Counter').fillna(0)
输出
Code a1 a2 b1 c2
Name
Alice 4.0 3.0 0.0 0.0
Bob 0.0 4.0 9.0 1.0