【发布时间】:2021-05-10 12:54:33
【问题描述】:
我有一个包含该项目的 df,它可以在不同的房间使用
Item Room1 Room2 Room3 Room4
Ball 1 1 1 0
Bat 1 1 1 1
Wicket 1 1 1 0
现在我想根据不同房间的项目数重复这些行。例如,对于 Item - Ball,Room1、Room2、Room3 中有三个 1,因此需要重复 3 行,每行仅为 Room1、Room2、Room3 列分配 0,并且 Room4 不考虑用于 Item Ball,它可以是 0对于所有 Ball 项目行。有 300 列不同的房间名称,例如 Room1,room2,room3,room4,BlockArea1,Block2 等。下面是预期的输出
Item Room1 Room2 Room3 Room4
Ball 1 1 1 0
Ball 1 0 1 0
Ball 1 1 0 0
Bat 1 1 1 1
Bat 1 1 1 0
Bat 1 1 0 1
Bat 1 0 1 1
Wicket 1 1 1 0
Wicket 1 0 1 0
Wicket 1 1 0 0
任何帮助将不胜感激
【问题讨论】:
-
不为0的行背后的逻辑是什么? (例如预期输出的 Ball 和 Wicket 的第一行)当您说:仅在 Room1、Room2、Room3 列的每一行中分配 0
-
根据行数只需为 Room1、Room2、Room3 分配零。如果 Ball 有 3 个 1,则只需将 0 分配给其中一列。
-
Ball 有 3 个 1,所以预期输出 Room1 的第一行不应该是 0 而不是 1?
-
最后对于 Ball 应该有 4 行,需要保留原来的行,对于重复的 3 行,其中一列使其为 0,其余 2 列可以为 1
-
在您的预期输出中,
Ball的行只有 3 行,包括原始行?
标签: arrays pandas numpy random pivot