小编Ksh*_*wal的帖子

基于特定条件的动态列的总和

我试图根据某些条件获取动态列的总和。

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和缺少值。

python dataframe pandas

5
推荐指数
1
解决办法
59
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1