擅长:python、mysql、java
<p>请尝试以下简短而甜蜜的代码:</p>
<pre><code>for index, row in df.iterrows():
unique_before_date = df[df['date'] <= row['date']].groupby(['car_id'])['destination'].nunique()
df['unique_destinations'][index] = int(unique_before_date[row['car_id']])
print(df)
</code></pre>
<p>它产生以下输出:</p>
<pre><code> date car_id destination unique_destinations
0 2019-01-01 1 Boston 1
1 2019-01-01 2 Miami 1
2 2019-01-02 1 Boston 1
3 2019-01-02 2 Orlando 2
4 2019-01-03 1 New York 2
5 2019-01-03 2 Tampa 3
6 2019-01-04 1 Boston 2
7 2019-01-04 2 Miami 3
8 2019-01-05 1 Washington 3
9 2019-01-05 2 Jacksonville 4
10 2019-01-06 1 New York 3
11 2019-02-06 2 Atlanta 5
</code></pre>