擅长:python、mysql、java
<p>正如@ayhan所说</p>
<pre><code>x.dt = pd.to_datetime(x.dt)
</code></pre>
<p>一行代码主要使用@ayhan的思想,同时合并了<code>stack</code>/<code>unstack</code>和<code>fill_value</code></p>
<pre><code>x.set_index(
['dt', 'user']
).unstack(
fill_value=0
).asfreq(
'D', fill_value=0
).stack().sort_index(level=1).reset_index()
dt user val
0 2016-01-01 a 1
1 2016-01-02 a 33
2 2016-01-03 a 0
3 2016-01-04 a 0
4 2016-01-05 a 0
5 2016-01-06 a 0
6 2016-01-01 b 0
7 2016-01-02 b 0
8 2016-01-03 b 0
9 2016-01-04 b 0
10 2016-01-05 b 2
11 2016-01-06 b 1
</code></pre>