我有以下数据:
year code value
2003 A 12
2003 B 11
2003 C 12
2004 A 14
2004 B 15
2004 C 13
2004 E 16
2005 A 9
2005 B 18
2005 C 16
2005 F 8
2005 G 19
我只想保留每年出现的代码。
我需要从上面的数据框中提取所有代码出现在年份(2003、2004、2005)中的行。这意味着我应该有一个新的 df,其中包含代码 A、B 和 C 的 9 行。我尝试使用 groupby 和 isin() 但无法准确获得我需要的东西。
请您参考如下方法:
没有groupby
df.set_index(['year','code']).unstack().dropna(axis=1).stack().reset_index()
Out[528]:
year code value
0 2003 A 12.0
1 2003 B 11.0
2 2003 C 12.0
3 2004 A 14.0
4 2004 B 15.0
5 2004 C 13.0
6 2005 A 9.0
7 2005 B 18.0
8 2005 C 16.0
