我的数据是节目持续时间的连续变量。我希望能够为活动和非活动用户合并数据。因此,对于每个范围,我想知道程序持续时间在该范围内的用户数量。最终,我想计算给定范围内有多少活跃和不活跃患者的持续时间。
我使用了.cut方法和groupby语句。我能够获得两个单独的数据框,分别用于活动和非活动的装箱。但是我想合并数据帧,并且我得到了这个怪异的嵌套结构,没有列可以合并数据帧。
创建活动和非活动数据框
active = temp[temp['user_status] == 'ACTIVE']
['program_duration_1'].reset_index()
inactive = temp[temp['user_status'] == 'INACTIVE']
['program_duration_1'].reset_index()
获取合并计数。
bins= [-100 , 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100,
1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000]
active= active.groupby(pd.cut(active['program_duration_1'],
bins=bins).reset_index(drop=True)).count()
inactive= inactive.groupby(pd.cut(inactive['program_duration_1'],
bins=bins).reset_index(drop=True)).count()
此命令的输出只有一列,尽管将垃圾箱显示为一列,但我重置了索引。我不能使用merge语句,因为只有一列,并且没有常见的合并对象。我尝试重命名列,但也没有用。
我希望能够合并两个数据框,因此对于每个bin我都有活动和不活动的用户。