擅长:python、mysql、java
<p>较小数据帧中的“sell-prix”字段没有足够的唯一值,无法分成三个大小相等的存储桶。因此,第一个和第二个bucket的端点是相同的,这就是为什么您会得到一个错误。</p>
<p>考虑</p>
<pre><code>df = pd.DataFrame([[1,2,3],[1,4,5],[1,5,6],[1,3,4], [2,3,4]], columns = ['a','b','c'])
df
a b c
0 1 2 3
1 1 4 5
2 1 5 6
3 1 3 4
4 2 3 4
pd.qcut(df['a'], 3)
ValueError: Bin edges must be unique: array([ 1., 1., 1., 2.])
</code></pre>
<p>尝试使用<code>cut</code></p>
<pre><code>pd.cut(df['a'], 3)
0 (0.999, 1.333]
1 (0.999, 1.333]
2 (0.999, 1.333]
3 (0.999, 1.333]
4 (1.667, 2]
Name: a, dtype: category
Categories (3, object): [(0.999, 1.333] < (1.333, 1.667] < (1.667, 2]]
</code></pre>