我试图根据某些条件获取动态列的总和。
cols = ['ID','A','B','C','D','E','F','G']
Run Code Online (Sandbox Code Playgroud)
数据框df具有上面列出的所有列。
如果ID = 2,则需要前两列A,B的总和如果ID = 3,则需要前三列A,B,C的总和
df.loc['SUM'] = df.loc[df['ID'] > 0,cols[0:df['ID']]].sum(axis=1)
Run Code Online (Sandbox Code Playgroud)
上面的代码行给出了以下错误:
TypeError: slice indices must be integers or None or have an __index__ method
Run Code Online (Sandbox Code Playgroud)
注意: ID可以是任何数字,但始终小于或等于列总数
数据框中没有nan和缺少值。