Lau*_*ura 6 python duplicates pandas
我有一个创建的数据帧:
df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
'year':[2000,2001,1998,1999,1998,1998,2000]})
Run Code Online (Sandbox Code Playgroud)
具体如下:
key year
0 b 2000
1 b 2001
2 a 1998
3 c 1999
4 a 1998
5 a 1998
6 b 2000
Run Code Online (Sandbox Code Playgroud)
我想以最快的方式获取每行的出现次数:
key year frequency
b 2000 2
b 2001 1
a 1998 3
c 1999 1
Run Code Online (Sandbox Code Playgroud)
通过做
df1.groupby(['key','year']).size().reset_index()
Run Code Online (Sandbox Code Playgroud)
你得到...
key year 0
0 a 1998 3
1 b 2000 2
2 b 2001 1
3 c 1999 1
Run Code Online (Sandbox Code Playgroud)
如您所见,该列尚未命名,因此您可以执行以下操作
mydf = df1.groupby(['key','year']).size().reset_index()
mydf.rename(columns = {0: 'frequency'}, inplace = True)
mydf
key year frequency
0 a 1998 3
1 b 2000 2
2 b 2001 1
3 c 1999 1
Run Code Online (Sandbox Code Playgroud)
(.reset_index()如果需要,您可以省略,但在这种情况下,您需要转换mydf为数据框,如下所示:mydf = pd.DataFrame(mydf),然后才重命名该列)