首页 > 解决方案 > 数据帧反转 drop(column = )

问题描述

我正在尝试使用 cumsum 函数操作数据框。

我的数据如下所示:

为了执行我的 cumsum,我使用

df = pd.read_excel(excel_sheet, sheet_name='Sheet1').drop(columns=['Material']) # Dropping material column

我运行我的其余代码,并在没有列出材料的情况下获得数据帧 cumsum 的预期结果:

df2 = df.as_matrix() #Specifying Array format
new = df2.cumsum(axis=1)
print(new)

但是,最后,我需要更换这个材料列。我不确定如何使用 add 函数将其恢复到数据帧的开头。

标签: pythonpandas

解决方案


IIUC,那么您可以将material列设置为索引,然后执行您的 cumsum,然后将其放回最后:

df2 = df.set_index('Material').cumsum(1).reset_index()

另一种方法是cumsum在除第一列之外的所有列上执行您的操作:

df.iloc[:,1:] = df.iloc[:,1:].cumsum(1)

推荐阅读