分类变量分为多个列

2024-09-27 21:35:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有带分类变量段的数据帧

ID  Segment Var
1   AAA     1
2   BBB     0
3   BBB     1
4   AAA     1
5   CCC     1
6   AAA     0 
7   AAA     1
8   AAA     0
9   BBB     0
10  CCC     0

我想把列段分为三类:

^{pr2}$

你能帮我一下吗。非常感谢你。在


Tags: 数据idvar分类segmentbbbcccaaa
3条回答

使用:

df.set_index(['ID','Segment'])['Var']\
  .unstack()\
  .add_prefix('Segment')\
  .rename_axis([None], axis=1)\
  .reset_index()

输出:

^{pr2}$

选项2:

pd.crosstab(df.ID,df.Segment,df.Var,aggfunc='first')

那是支点吗?在

df.pivot(*df.columns)
Out[70]: 
Segment  AAA  BBB  CCC
ID                    
1        1.0  NaN  NaN
2        NaN  0.0  NaN
3        NaN  1.0  NaN
4        1.0  NaN  NaN
5        NaN  NaN  1.0
6        0.0  NaN  NaN
7        1.0  NaN  NaN
8        0.0  NaN  NaN
9        NaN  0.0  NaN
10       NaN  NaN  0.0
pd.get_dummies(df).drop('Var', axis=1)

相关问题 更多 >

    热门问题