按组获取列的第一个值,然后将此值分配给其他行

时间:2019-04-13 19:24:29

标签: python pandas

我正在尝试执行以下操作:

1-获取每组人员的Value列的第一行,并将其分配给同一组的其余行:

 Person    Job   Value
      A     1      0
      A     0      0
      A     1      1
      A     1      1
      B     1      4
      B     0      0
      B     0      0
      B     1      1

我的预期结果应该是:

人员A组的第一值= 0 人员组的第一个值= 4

 Person    Job   Value
      A     1      0
      A     0      0
      A     1      0
      A     1      0
      B     1      4
      B     0      4
      B     0      4
      B     1      4

我不确定最好的方法。

我尝试过,但这不正确。

def first(df):
    return df.Value.iloc[0]

df['Value'] = df.groupby(Person).apply(first)

0 个答案:

没有答案