Вы можете сделать следующее:
import pandas as pd
data = [[1, 5, 2000],
[1, 6, 2000],
[1, 7, 2000],
[1, 5, 2001],
[2, 3, 2000],
[2, 3, 2001],
[2, 4, 2005],
[2, 5, 2005],
[3, 3, 2000],
[3, 6, 2005]]
df = pd.DataFrame(data=data, columns=['id', 'value', 'year'])
result = []
for name, group in df.groupby(['id']):
result.append([g['value'].values.tolist() for _, g in group.groupby(['year'])])
for e in result:
print(e)
выход
[[5, 6, 7], [5]]
[[3], [3], [4, 5]]
[[3], [6]]