我需要按多个列分组&;然后在添加了If条件的新列中求和.我try 了下一个代码,它通过单列分组非常有效:
df['new column'] = (
df['value'].where(df['value'] > 0).groupby(df['column1']).transform('sum')
)
然而,当我try 按多个列进行分组时,我得到了一个错误.
df['new_column'] = (
df['value'].where(df['value'] > 0).groupby(df['column1', 'column2']).transform('sum')
)
错误:
->return self._engine.get_loc(casted_key)
The above exception was the direct cause of the following exception:
->indexer = self.columns.get_loc(key)
->raise KeyError(key) from err
->if is_scalar(key) and isna(key) and not self.hasnans: ('column1', 'column2')
您能告诉我应该如何更改代码以获得相同的结果,但按多个列分组吗?
非常感谢.