python - pandas python to onehot标记具有相同值集的几列
问题描述
我正在尝试使用带有 onehot 标签的 Python 创建用于机器学习的功能。原始数据让我们说 element_1、element_2、element3... 具有苹果、香蕉、猕猴桃等值...
element_1 element_2 element_3
1. apple banana kiwi
2. apple
3. banana kiwi
4. kiwi apple
我正在尝试做的是这些新功能,例如
apple banana kiwi
1. 1 1 1
2. 1 0 0
3. 0 1 1
4. 1 0 1
谢谢你。
尝试过的方法会创建比需要更多的列,例如 element1_apple、element1_banana、...、element2_apple...
Y = TrainDF.loc[:,['ele_1','ele_2','ele_3','ele_4']] Y1 = pd.DataFrame(columns=Y.columns, data=le2.fit_transform(Y.values.flatten( )).reshape(Y.shape))
Y2 = onehot1.fit_transform(Y1)
感谢您的评论。该项目的目标是预测如何通过混合元素及其单独数量 (%)(最少 1 个和最多 4 个元素)来获得某些特征。元素输入有四列和大约 50 种类型的元素。假设如果需要一个 RGB 值 (100,50,150),则需要 A 元素 5% + D 元素 8% 的输入。标签编码和onehot编码还没有很好的结果。我正在组织数据,以便训练的输出如下所示。
apple banana kiwi
1. 1 2 1
2. 3 0 0
3. 0 1 5
4. 1 0 1
解决方案
尝试:
pd.get_dummies(df.stack(), prefix=None, prefix_sep=None).sum(level=0)
输出:
apple banana kiwi
1. 1 1 1
2. 1 0 0
3. 0 1 1
4. 1 0 1
推荐阅读
- javascript - 如何在一个项目中访问我的第一个平面列表中的所有数据,以便我可以将它传递给我的第二个平面列表?
- php - Xdebug 停止在 Windows 10 上进行 PHP 跟踪
- flutter - 使用 Mockito 进行 ElevatedButton 测试
- curl - 带附件的 Gmail API 发送
- javascript - BoostrapVue:修改表格以将项目显示为输入
- python - 我不能直接使用“pip install”
- testng - 处理错误:testng.selenium.endpoint 必须是配置的系统属性
- swift - 在排序异步任务和单独执行时遇到问题
- python - 恢复和暂停 python 脚本(电视节目)
- tmux - 不是编辑器命令:TmuxNavigateLeft