Я предполагаю, что проблема в строковом столбце Type1
:
level = 'F'
temp_df = pd.DataFrame({
'Type1':list('abcdef'),
'Type2':[4,5,4,5,5,4],
'Type3':[7,8,9,4,2,3],
'Type4':[1,3,5,7,1,0],
'Type5':[5,3,6,9,2,4],
'col':[5,3,6,9,2,4],
'F':list('aaabbb')
})
print (temp_df.dtypes)
Type1 object
Type2 int64
Type3 int64
Type4 int64
Type5 int64
col int64
F object
dtype: object
Решение - добавить список перед функцией sum
, но Type1
столбец исключен, поскольку не числовой .
cols = [level, 'Type1', 'Type2','Type3', 'Type4', 'Type5']
temp_v1 = temp_df.groupby(level, as_index = False)[cols].sum()
print (temp_v1)
F Type2 Type3 Type4 Type5
0 a 13 24 9 14
1 b 14 9 8 15
Еще одна проблема - это опечатка в имени столбца или пробел, вы можете проверить это путем преобразования имен столбцов в list
:
print (temp_df.columns.tolist())
['Type1', 'Type2', 'Type3', 'Type4', 'Type5', 'col', 'F']