В пандах после добавления новой строки, заполненной поплавками, все столбцы изменяются на float
s.
Возможное решение: round
и преобразовать все столбцы:
df = df.round().astype(int)
Или добавить новый Series
, преобразованный в integer
:
df = df.append(df.mean().rename('Avg').round().astype(int))
print (df)
Daily Total actor1 actor2
actor
2019-01-01 25 10 15
2019-01-02 30 15 15
Avg 28 12 15
Если хотите преобразовать только столбцы со значениями строк, заполненными целыми числами:
d = dict.fromkeys(df.columns[df.loc['Avg'] == df.loc['Avg'].astype(int)], 'int')
df = df.astype(d)
print (df)
Daily Total actor1 actor2
actor
2019-01-01 25.0 10.0 15
2019-01-02 30.0 15.0 15
Avg 27.5 12.5 15