Я создал фрейм данных следующим образом
df_gr_1971 = df.where(df.year == 1971).groupby(['year', 'ID1', 'ID2']).size().unstack(fill_value='0')
list_all71 = [(list(i), v) for i, v in df_gr_1971.stack().iteritems()]
list_all71 = pd.DataFrame(list_all71, columns=["ID3", "count"])
list_all71
cols = ['year', 'ID1', 'ID2']
s = df.where(df.year == 1971).groupby(cols).size().unstack(fill_value='0').stack()
L = [{'year_1971': idx[0], 'ID3': list(idx[1:]), 'count': vals} for idx, vals in s.items()]
df_list_all71 = pd.DataFrame(L)
df_list_all71
результаты выглядят так:
ID3 count year_1971
0 [11, B6] 2 1971.0
1 [11, H1] 1 1971.0
2 [11, H2] 1 1971.0
3 [24, B6] 1 1971.0
4 [24, H1] 0 1971.0
, когда я хочу показать строки с количеством == 0, я используюэтот код
wsp_71 = df_list_all71[df_list_all71['count']==0]
wsp_71
но результат такой:
ID3 count year
но я бы хотел увидеть этот результат
ID3 count year_1971
4 [24, H1] 0 1971.0
любые идеи для решения этой проблемыпроблема?или я что-то не так понимаю?