Python 根据两列的出现次数指定值

Python 根据两列的出现次数指定值,python,pandas,Python,Pandas,我有一个数据框,其中包含多个城市的关键字排名数据,如下例所示: | Location | Keyword | Position | Domain | |----------|-----------------------|----------|--------------| | London | Python developer jobs | 1 | Domain-A.com | | London | Python develope

我有一个数据框,其中包含多个城市的关键字排名数据,如下例所示:


| Location | Keyword               | Position | Domain       |
|----------|-----------------------|----------|--------------|
| London   | Python developer jobs | 1        | Domain-A.com |
| London   | Python developer jobs | 2        | Domain-A.com |
| London   | Python developer jobs | 3        | Domain-B.com |
| London   | Python developer jobs | 4        | Domain-A.com |
| London   | Python developer jobs | 5        | Domain-B.com |
| London   | Python developer jobs | 6        | Domain-C.com |
| London   | Python developer jobs | 7        | Domain-C.com |
| London   | Data scientist jobs   | 1        | Domain-A.com |
| London   | Data scientist jobs   | 2        | Domain-B.com |
| London   | Data scientist jobs   | 3        | Domain-C.com |
| New York | Python developer jobs | 1        | Domain-B.com |
| New York | Python developer jobs | 2        | Domain-A.com |
| New York | Python developer jobs | 3        | Domain-B.com |
| New York | Python developer jobs | 4        | Domain-A.com |
| New York | Data scientist jobs   | 1        | Domain-A.com |
| New York | Data scientist jobs   | 2        | Domain-A.com |
| New York | Data scientist jobs   | 3        | Domain-A.com |
| New York | Data scientist jobs   | 4        | Domain-A.com |
| …        | …                     | …        | …            |


我很难想出一个函数来创建一个新列,并根据位置和关键字,根据域的出现次数分配一个递减的值

因此,位置Y中关键字X的任何域的第一次出现都会收到值10,同一关键字和位置组中的域的第二次出现都会收到值5,该组中的所有后续出现都会收到值1

最终结果应如下所示:

| Location | Keyword               | Position | Domain       | Value |
|----------|-----------------------|----------|--------------|-------|
| London   | Python developer jobs | 1        | Domain-A.com | 10    |
| London   | Python developer jobs | 2        | Domain-A.com | 5     |
| London   | Python developer jobs | 3        | Domain-B.com | 10    |
| London   | Python developer jobs | 4        | Domain-A.com | 1     |
| London   | Python developer jobs | 5        | Domain-B.com | 5     |
| London   | Python developer jobs | 6        | Domain-C.com | 10    |
| London   | Python developer jobs | 7        | Domain-C.com | 5     |
| London   | Data scientist jobs   | 1        | Domain-A.com | 10    |
| London   | Data scientist jobs   | 2        | Domain-B.com | 10    |
| London   | Data scientist jobs   | 3        | Domain-C.com | 10    |
| New York | Python developer jobs | 1        | Domain-B.com | 10    |
| New York | Python developer jobs | 2        | Domain-A.com | 10    |
| New York | Python developer jobs | 3        | Domain-B.com | 5     |
| New York | Python developer jobs | 4        | Domain-A.com | 5     |
| New York | Data scientist jobs   | 1        | Domain-A.com | 10    |
| New York | Data scientist jobs   | 2        | Domain-A.com | 5     |
| New York | Data scientist jobs   | 3        | Domain-A.com | 1     |
| New York | Data scientist jobs   | 4        | Domain-A.com | 1     |
| …        | …                     | …        | …            | …     |

````

Thanks for you support!
您可以尝试groupby:

输出:

    Location    Keyword Position    Domain  cumcount
0   London  Python developer jobs   1   Domain-A.com    10
1   London  Python developer jobs   2   Domain-A.com    5
2   London  Python developer jobs   3   Domain-B.com    10
3   London  Python developer jobs   4   Domain-A.com    1
4   London  Python developer jobs   5   Domain-B.com    5
5   London  Python developer jobs   6   Domain-C.com    10
6   London  Python developer jobs   7   Domain-C.com    5
7   London  Data scientist jobs 1   Domain-A.com    10
8   London  Data scientist jobs 2   Domain-B.com    10
9   London  Data scientist jobs 3   Domain-C.com    10
10  New York    Python developer jobs   1   Domain-B.com    10
11  New York    Python developer jobs   2   Domain-A.com    10
12  New York    Python developer jobs   3   Domain-B.com    5
13  New York    Python developer jobs   4   Domain-A.com    5
14  New York    Data scientist jobs 1   Domain-A.com    10
15  New York    Data scientist jobs 2   Domain-A.com    5
16  New York    Data scientist jobs 3   Domain-A.com    1
17  New York    Data scientist jobs 4   Domain-A.com    1

请将您的数据以文字而不是图像的形式显示出来。谢谢您的推荐。非常精彩,如此简单和优雅,非常感谢!:
    Location    Keyword Position    Domain  cumcount
0   London  Python developer jobs   1   Domain-A.com    10
1   London  Python developer jobs   2   Domain-A.com    5
2   London  Python developer jobs   3   Domain-B.com    10
3   London  Python developer jobs   4   Domain-A.com    1
4   London  Python developer jobs   5   Domain-B.com    5
5   London  Python developer jobs   6   Domain-C.com    10
6   London  Python developer jobs   7   Domain-C.com    5
7   London  Data scientist jobs 1   Domain-A.com    10
8   London  Data scientist jobs 2   Domain-B.com    10
9   London  Data scientist jobs 3   Domain-C.com    10
10  New York    Python developer jobs   1   Domain-B.com    10
11  New York    Python developer jobs   2   Domain-A.com    10
12  New York    Python developer jobs   3   Domain-B.com    5
13  New York    Python developer jobs   4   Domain-A.com    5
14  New York    Data scientist jobs 1   Domain-A.com    10
15  New York    Data scientist jobs 2   Domain-A.com    5
16  New York    Data scientist jobs 3   Domain-A.com    1
17  New York    Data scientist jobs 4   Domain-A.com    1