Python 如何切割具有非唯一箱边的熊猫系列?

Python 如何切割具有非唯一箱边的熊猫系列?,python,pandas,Python,Pandas,我有一系列大约200000个值,其中>50%是NaN和0。理想情况下,我希望使用qcut()对我的值进行装箱,但由于装箱边不唯一,因此会出现错误。如何将分块1中的所有NaN值和分块2中的0值,以及分块标签3到10中的其余非零值进行分类(假设我需要10个分块)您可以向qcut提供一个指定分布的数组(示例为[0、.25、.5、.75、1])对于分位数。因此,首先用-1填充NAN以确保它们显示。然后指定具有此分布的桶数组: [0, count(-1)/df.shape[0], (count(-1)+c

我有一系列大约200000个值,其中>50%是NaN和0。理想情况下,我希望使用
qcut()
对我的值进行装箱,但由于装箱边不唯一,因此会出现错误。如何将分块1中的所有NaN值和分块2中的0值,以及分块标签3到10中的其余非零值进行分类(假设我需要10个分块)

您可以向qcut提供一个指定分布的数组(示例为[0、.25、.5、.75、1])对于分位数。因此,首先用-1填充NAN以确保它们显示。然后指定具有此分布的桶数组:

[0,
count(-1)/df.shape[0],
(count(-1)+count(0))/df.shape[0],
(count(-1)+count(0))/df.shape[0] + 1.*(df.shape[0] - count(-1)+count(0))/7,
(count(-1)+count(0))/df.shape[0] + 2.*(df.shape[0] - count(-1)+count(0))/7,
#...
1]