操纵数据帧,使列和等于常量

2024-09-30 06:18:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了一个包含1500行和25列的数据帧,其中每个单元格可以取0或1,每行最多3个1:

ID,t01,t02,t03,t04,t05。。。。t25型

s0001,0,1,1,0,0,…,1

s0002,1,0,1,1,0,…,0

s0003,0,1,0,0,1,…,1

是的

是的

是的

s1500,0,0,1,1,1,…,0

现在我需要转换这个数据帧,使每一行只包含一个1,所有列的总和加起来是60(1500/25=60;+/-2公差很好),这意味着所有1在列中均匀分布。 我尝试通过使用列表并将id一步一步地分配给各个列表来解决这个问题,但是,这只会给最后一列留下一堆未分配的id,因为我主要使用if和for循环来迭代单个列表,而不是整个数据帧

任何帮助都将不胜感激

更新 正如评论中提到的:最后,三个1中的两个需要删除。1基本上包含了表示所选主题的单个列的首选项。因此,我们的想法是根据偏好将每个个体(由ID表示)分配给一个主题,以便处理一个主题的组的大小大致相同


Tags: 数据id主题列表t02t01t05t03

热门问题