【发布时间】:2021-07-02 00:42:02
【问题描述】:
我有一个包含汽车及其颜色的数据框:
colors_df = pd.DataFrame({'id' : [1,2,3], 'Color_Red':[0,1,0],'Color_Blue':[1,0,0],'Color_Green':[1,1,1]})
| id | Color_Red | Color_Blue | Color_Green |
| 1 |. 0. | 1 | 1 |
| 2 |. 1. | 0 | 1 |
| 3 |. 0. | 0 | 1 |
我想为每个名为 Color_XXX_Only 的颜色创建一个额外的列,如果 id 的颜色中只有一个 1,则将其设置为值 1,如果它有多个颜色设置为 1,则另外设置一个 MultiColor 列。 预期输出:
| id | Color_Red | Color_Blue | Color_Green | Only_Red | Only_Blue | Only_Green | MultiColor|
| 1 |. 0. | 1 | 1 |. 0. | 0 | 0 | 1. |
| 2 |. 1. | 0 | 1 |. 0. | 0 | 0 | 1. |
| 3 |. 0. | 0 | 1 |. 0. | 0 | 1 | 0 |
1 是多色的,因为它是蓝色和绿色的。
2 是多色的,因为它是红色和绿色的。
3 是 Onlye_blue 和多色,因为它只有绿色。
【问题讨论】: