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