Rom*_*man 22 python group-by pandas
我有一个pandas数据框并将其分为两列(例如col1和col2).为固定值col1和col2(即,对于A组)我可以在几个不同的值col3.我想计算第三列中不同值的数量.
例如,如果我将此作为输入:
1 1 1
1 1 1
1 1 2
1 2 3
1 2 3
1 2 3
2 1 1
2 1 2
2 1 3
2 2 3
2 2 3
2 2 3
Run Code Online (Sandbox Code Playgroud)
我想将此表(数据框)作为输出:
1 1 2
1 2 1
2 1 3
2 2 1
Run Code Online (Sandbox Code Playgroud)
Rom*_*man 27
df.groupby(['col1','col2'])['col3'].nunique().reset_index()
Run Code Online (Sandbox Code Playgroud)
Jef*_*eff 21
In [17]: df
Out[17]:
0 1 2
0 1 1 1
1 1 1 1
2 1 1 2
3 1 2 3
4 1 2 3
5 1 2 3
6 2 1 1
7 2 1 2
8 2 1 3
9 2 2 3
10 2 2 3
11 2 2 3
In [19]: df.groupby([0,1])[2].apply(lambda x: len(x.unique()))
Out[19]:
0 1
1 1 2
2 1
2 1 3
2 1
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45177 次 |
| 最近记录: |