Pandas-根据另一列的行总和(试图在副本上设置的值)创建新列的正确方法?

时间:2017-12-01 01:34:50

标签: python pandas dataframe indexing

我有一个包含日期,名称和值的数据框,我想要做的就是创建一个列,该列是按日期计算的总和的输出,然后将该总和减去每个名称的值。日期。我已经能够做到这一点,但我得到了常见的错误:df['ex_Term'] = df.groupby('name').Term.transform('sum') - df['Term']

这是我的代码:df['ex_Term'] = df.groupby('name').loc[:,('Term')].sum()- df['Term']

它告诉我使用iloc函数,在阅读文档并尝试使用此代码后,它仍然无效: name Country value delta mike UK 1 -1 mike US 2 1

示例df:

startActivityForResult()

1 个答案:

答案 0 :(得分:2)

IIUC尝试使用assgin

df=df.assgin(ex_Term=df.groupby('name').Term.transform('sum') - df['Term'])