回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我使用pandas==1.2.1</p>
<p>MRE:</p>
<pre><code>x = pd.DataFrame({"date":["20201211", "20201211", "20201212", "20201222", "20201222","20201223",
"20201211", "20201211", "20201212", "20201222", "20201222"],
"userid":["A", "A", "A", "A", "A", "A","B", "B", "B", "B", "B"],
"category":[1,1,2,2,2,1, 33, 33, 33, 34, 34]})
</code></pre>
<p>看起来是这样的:</p>
<pre><code> date userid category
0 20201211 A 1
1 20201211 A 1
2 20201212 A 2
3 20201222 A 2
4 20201222 A 2
5 20201223 A 1
6 20201211 B 33
7 20201211 B 33
8 20201212 B 33
9 20201222 B 34
10 20201222 B 34
</code></pre>
<p>我想做的是获取每个用户类别更改时的日期</p>
<p>因此,所需的数据帧应如下所示:</p>
<pre><code>user cat_changed changed_cat
A [20201212, 20201223] [2, 1]
B [20201222] [34]
</code></pre>
<p>我已经尝试过按用户ID、cate、日期分组,但是从那以后就被卡住了</p>