Конечно. Это нормальное и нормальное поведение. Вместо закрытия и повторного открытия вы можете rewind
сохранить файл.
Используйте .value_counts()
с аргументом нормализации, группируя только по году.
import pandas as pd
import numpy as np
np.random.seed(123)
df = pd.DataFrame({'year': np.random.choice([2010, 2011], 1000),
'weekday': np.random.choice(list('abcdefg'), 1000),
'val': np.random.normal(1, 10, 1000)})
df.groupby('year').weekday.value_counts(normalize=True)
year weekday
2010 d 0.152083
f 0.147917
g 0.147917
c 0.143750
e 0.139583
b 0.137500
a 0.131250
2011 d 0.182692
a 0.163462
e 0.153846
b 0.148077
c 0.128846
f 0.111538
g 0.111538
Name: weekday, dtype: float64