我有两个数据帧,df1和df2,它们是从同一个数据集构建的,涉及一些患者信息
df1包含关于患者在同一类型的各种静脉输液中使用多长时间的信息,因此同一患者可能有多行,其中每行构成不同的静脉输液
在df2中,每一行都是一个不同的患者,列显示了患者接受某种类型静脉注射的总天数
我们关注的列是“FIN”和“行日”。“FIN”唯一标识患者,“行日”记录特定静脉注射的天数
在df1中,我按“FIN”将行分组,然后对每个不同的“FIN”的“Line Days”列求和。现在,我想获取这个groupby.agg()的输出,并通过匹配“FIN”将其作为新列添加到df2中
def sum_col(df, col1, col2):
tot_line = df.groupby(col1)[col2].agg('sum')
return tot_line
CVL_totals = sum_col(CVL_data, 'FIN', '# Line days')
输出如下:(注意:未显示实际翅片)
FIN
000000000 12
111111111 3
222222222 32
333333333 7
现在,我想将它合并到'FIN'上的df2,但我不能这样做,因为输出不是数据帧
cvl_totals
应该是一个系列对象,您可以使用^{但是,您似乎正在对一列执行groupby操作,因此如果您希望跨行扩展值(即,具有一个FIN的所有列都将具有相同的
cvl_total
),那么您可以按照此处所述执行:Conditionally fill column values based on another columns value in pandas相关问题 更多 >
编程相关推荐