我不确定这是一个错误还是一个功能,但我真的很想了解它是如何工作的。
我有一个非常简单的数据集
In [0]: data
Out[0]:
group value data
0 A 1 1
1 A 2 1
2 B 3 1
3 B 4 1
Run Code Online (Sandbox Code Playgroud)
然后我有一些转变:
In [1]: data.groupby('group').transform('rank')
Out[1]:
value data
0 1.0 1.5
1 2.0 1.5
2 1.0 1.5
3 2.0 1.5
In [2]: data.groupby('group').value.transform('rank')
Out[2]:
0 1
1 1
2 2
3 2
In [3]: data.groupby('group').data.transform('rank')
Out[3]:
0 1.5
1 1.5
2 1.5
3 1.5
In [4]: data.groupby('group').transform('rank').value
Out[4]:
0 1.0
1 2.0
2 1.0
3 2.0
In [5]: data.groupby('group').value.rank()
Out[5]:
0 1.0
1 2.0
2 1.0
3 2.0
In [6]: data.groupby('group').cumcount()
Out[6]:
0 0
1 1
2 0
3 1
Run Code Online (Sandbox Code Playgroud)
我觉得奇怪的事情:
value列发生了什么(类似于第五和第六列),但我无法理解data列发生了什么。价值从何1.5而来?如果有人可以向我解释,我将非常感激。
谢谢。
让我添加更多的混乱 -rank ()方法有一个method参数......
默认:method=\'average\'
In [70]: data.groupby(\'group\').transform(\'rank\')\nOut[70]:\n value data\n0 1.0 1.5\n1 2.0 1.5\n2 1.0 1.5\n3 2.0 1.5\n\nIn [71]: data.groupby(\'group\').transform(\'rank\', method=\'average\')\nOut[71]:\n value data\n0 1.0 1.5\n1 2.0 1.5\n2 1.0 1.5\n3 2.0 1.5\nRun Code Online (Sandbox Code Playgroud)\n方法:min
In [72]: data.groupby(\'group\').transform(\'rank\', method=\'min\')\nOut[72]:\n value data\n0 1.0 1.0\n1 2.0 1.0\n2 1.0 1.0\n3 2.0 1.0\nRun Code Online (Sandbox Code Playgroud)\n方法:max
In [73]: data.groupby(\'group\').transform(\'rank\', method=\'max\')\nOut[73]:\n value data\n0 1.0 2.0\n1 2.0 2.0\n2 1.0 2.0\n3 2.0 2.0\nRun Code Online (Sandbox Code Playgroud)\n方法:first
In [74]: data.groupby(\'group\').transform(\'rank\', method=\'first\')\nOut[74]:\n value data\n0 1.0 1.0\n1 2.0 2.0\n2 1.0 1.0\n3 2.0 2.0\nRun Code Online (Sandbox Code Playgroud)\n方法:dense
In [75]: data.groupby(\'group\').transform(\'rank\', method=\'dense\')\nOut[75]:\n value data\n0 1.0 1.0\n1 2.0 1.0\n2 1.0 1.0\n3 2.0 1.0\nRun Code Online (Sandbox Code Playgroud)\n来自文档:
\n\n\n方法: {
\naverage,min,max,first,dense}平均:组的平均排名
\nmin:组中最低排名
\nmax:组中最高排名
\n第一:按照它们在数组中出现的顺序分配排名
\n密集:如\xe2\x80\x98min\xe2\x80\x99,但组之间的等级总是增加1
\n
还有另一个参数:
\n\n\npct : 布尔值,默认 False
\n计算数据的百分比排名
\n
| 归档时间: |
|
| 查看次数: |
8305 次 |
| 最近记录: |