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