回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我的数据框架如下:</p>
<pre><code>data = {
'Name': ['tom', 'nick', 'krish', 'jack', 'ram', 'antony', 'nicols',
'lisa', 'sasha', 'jynx', 'dani'],
'Cricket': [8, 9, 11, 6, 12, 15, 14, 12, 11, 13, 7],
'Football': [1, 3, 1, 3, 5, 6, 2, 0, 5, 4, 6],
'Hockey': [1, 0, 1, 0, 5, 6, 12, 12, 14, 13, 10],
'Soccer': [5, 6, 2, 9, 5, 5, 6, 7, 6, 11, 12],
'Kabadi': [9, 4, 5, 3, 3, 4, 5, 6, 6, 6, 7]
}
df = pd.DataFrame(data)
df
</code></pre>
<p>情况如下:</p>
<pre><code> Name Cricket Football Hockey Soccer Kabadi
0 tom 8 1 1 5 9
1 nick 9 3 0 6 4
2 krish 11 1 1 2 5
3 jack 6 3 0 9 3
4 ram 12 5 5 5 3
5 antony 15 6 6 5 4
6 nicols 14 2 12 6 5
7 lisa 12 0 12 7 6
8 sasha 11 5 14 6 6
9 jynx 13 4 13 11 6
10 dani 7 6 10 12 7
</code></pre>
<p>我想根据for循环中的四分位数截止值,为df中的每一列添加一个新的组列</p>
<pre><code>df['Cricket'].quantile([.1, .25, .5, .75])
0.10 7.0
0.25 8.5
0.50 11.0
0.75 12.5
Name: Cricket, dtype: float64
</code></pre>
<p>#低、中、高分组</p>
<pre><code>conditions = [
(df['Cricket'] >= 12.5),
(df['Cricket'] < 12.5) & (df['Cricket'] >= 8.5),
(df['Cricket'] < 8.5)
]
values = ['High','Moderate', 'Low']
df['CricketGroup'] = np.select(conditions, values)
df.head()
</code></pre>
<p>数据如下:</p>
<pre><code> Name Cricket Football Hockey Soccer Kabadi CricketGroup
0 tom 8 1 1 5 9 Low
1 nick 9 3 0 6 4 Moderate
2 krish 11 1 1 2 5 Moderate
3 jack 6 3 0 9 3 Low
4 ram 12 5 5 5 3 Moderate
</code></pre>
<p>在需要根据四分位数截止值为<code>FootballGroup</code>、<code>HockeyGroup</code>、<code>KabadiGroup</code>添加列的for循环中,如何执行此操作</p>