【发布时间】:2021-08-19 17:59:33
【问题描述】:
我有一张桌子:
| project | location | category | lifecycle | ftecount>3 | bpssscore |
|---|---|---|---|---|---|
| abc | Bangalore | s | Incre | 41 | 3.98 |
| Sys | Bangalore | s | SDS | 35.3 | 3.98 |
| Syst | Chennai | Task | 13 | 2 | 3.98 |
| EPS | Bangalore | s | Task | 5 | 3.98 |
| foss | Bangalore | s | sds | 6 | 3.98 |
| opc | Noida | task | 13 | 1 | 3.98 |
希望输出为:
| project | loc_Bangalore | loc_Chennai | loc_Noida | cat_s | cat_task | ftecount>3 | bpssscore>3 |
|---|---|---|---|---|---|---|---|
| abc | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| Sys | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| Syst | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
| EPS | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| foss | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| opc | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
这里的条件是:
1.想要根据列位置、类别的唯一值动态添加新列。
2.在新列中的值将根据以下条件: --if location = 'Banglore' 然后将 1 else 0 放入新列 loc_banglore。
类似的条件适用于所有位置唯一值和类别(在 df 中添加新列)
3.对于 ftecount 和 bpss 列,我们只需要检查条件: -- if ftecount>3 then 1 else 0
bpss 列的逻辑相同。'
请帮我解决这个问题。
【问题讨论】:
标签: python pandas numpy machine-learning data-science