擅长:python、mysql、java
<p><code>pd.cut</code>+<code>transform</code></p>
<pre><code>df['type']=pd.cut(df.groupby(level='assetid')
.forecast
.transform('mean'),[0,0.2,0.4,np.inf],labels=['low','med','high'])
df
Out[663]:
price yield forecast type
date assetid
1/1/2017 4200 96.44 0.23 0.64 high
408 46.30 0.60 0.40 med
413 50.68 0.47 0.73 high
3911 82.48 0.33 0.84 high
7392 97.24 0.40 0.62 med
7144 31.86 0.18 0.54 high
8793 59.66 0.65 0.90 high
1/2/2017 4200 57.10 0.21 0.69 high
408 4.76 0.86 0.16 med
413 70.79 0.24 0.12 high
3911 5.43 0.91 0.44 high
7392 47.33 0.51 0.18 med
7144 17.85 0.79 0.59 high
8793 98.08 0.20 0.24 high
</code></pre>