使用groupby()。sum()函数后,列会丢失

时间:2019-08-21 04:17:36

标签: python-3.x pandas-groupby

我正在按某些列名称将某些数据分组在一起,并对所有值求和。

import pandas as pd
import numpy as np
data = pd.read_excel('Data_Cleaning.xlsx', sheetname='Expenses reclassification')

data.columns = data.iloc[1,:]
data = data.drop([0,1,2,3,4,5])
data = data.set_index('ALL NUMBERS EXPRESSED IN SGD')
data = data.groupby(level = 0).sum()
print(data.head())

在我对数据进行分组之前,数据框的形状为(103,117),而在对返回的数据帧进行分组后,形状为(68,36)。许多列丢失了。所有列均应为数值。

我的问题是发生了什么,Python有什么方法可以将(68,117)个数据帧返回给我。谢谢!

1 个答案:

答案 0 :(得分:0)

将在支持这种聚合的列(即数字列)上执行聚合函数(在这种情况下为求和)。看来您只有36个数字列。

如果您认为应该有更多的数字列,则可能要检查每列的类型,并且如果感觉有问题,则可能需要检查数据中的异常。

希望这会有所帮助!