擅长:python、mysql、java
<p>不是我最好的作品。。。但我不想再尝试了。。。它伤害了我的灵魂。在</p>
<pre><code>d = df.query('id != "id"').replace(dict(id={'\d+': None}), regex=True).ffill()
s = d[d.duplicated('id')].set_index(['id', 'Code']).replace({'y': 1, 'n': np.nan}).stack()
s.rename_axis(['Day', 'Code', 'Week']).reset_index('Week').Week.str.replace(
'week', '', flags=re.IGNORECASE
).reset_index()
Day Code Week
0 sunday 100 1
1 sunday 100 2
2 sunday 200 2
3 sunday 300 3
4 Monday 500 2
5 Monday 500 3
6 Monday 600 1
7 Monday 600 2
8 Monday 600 3
9 Tuesday 800 2
10 Tuesday 800 3
11 Tuesday 900 1
12 Tuesday 900 3
</code></pre>