Create a feature table in Python from a df(在Python中根据DF创建要素表)
                            本文介绍了在Python中根据DF创建要素表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
我有以下df:
 id    step1 step2 step3 step4 .... stepn-1, stepn, event 
  1       a     b    c     null         null  null    1
  2       b     d    f     null         null  null    0
  3       a     d    g      h             l    m      1      
其中id表示会话,步骤表示特定路径,事件表示是否发生了特定的事情
我想要创建一个功能存储,我们可以在其中执行所有可能的步骤(a、b、c、...一直到某个任意数字),并使它们成为列。然后,我希望x列保持id,如果该会话命中列中的该步骤,则它只填充1或0。结果如下:
id  a  b  c  d  e  f  g ... n event
 1  1  1  1  0  0  0  0     0   1
 2  0  1  0  0  0  1  0     0   0
 3  1  0  0  1  0  0  1     1   1
我有一个包含所有可能步骤的唯一列表,我假定这些步骤将用于构造新表。但在那之后,我在苦苦思索如何创造这个。
推荐答案
您正在寻找的内容经常用于机器学习,称为一热编码。
有一个专门为此目的设计的 pandas 功能,名为pd.get_dummies()。
step_cols = [c for c in df.columns if c.startswith('step')]
other_cols = [c for c in df.columns if not c.startswith('step')]
new_df = pd.get_dummies(df[step_cols].stack()).groupby(level=0).max()
new_df[other_cols] = df[other_cols]
输出:
>>> new_df
   a  b  c  d  f  g  h  l  m  id  event
0  1  1  1  0  0  0  0  0  0   1      1
1  0  1  0  1  1  0  0  0  0   2      0
2  1  0  0  1  0  1  1  1  1   3      1
                        这篇关于在Python中根据DF创建要素表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:在Python中根据DF创建要素表
				
        
 
            
        
             猜你喜欢
        
	     - YouTube API v3 返回截断的观看记录 2022-01-01
 - 如何使用PYSPARK从Spark获得批次行 2022-01-01
 - 我如何卸载 PyTorch? 2022-01-01
 - 使用 Cython 将 Python 链接到共享库 2022-01-01
 - 计算测试数量的Python单元测试 2022-01-01
 - ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
 - CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
 - 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
 - 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
 - 我如何透明地重定向一个Python导入? 2022-01-01
 
