我想根据分位数“位置”的值将数据帧值转换为离散类别标签(例如1、2、3或a、b、c)。我的数据帧是一个矩阵(36x28),我想把它们分为10类。我试着通过这个方法找到分位数
kor_2005_values = kor_2005.values.flatten()
kor_2005_quantiles = np.nanquantile(kor_2005_values,[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1])
然后将分位数之间的值(例如,将0和0.1之间的值替换为标签“1”,将0.1和0.2之间的值替换为2)替换为
test = pd.cut(kor_2005, bins = kor_2005_quantiles, labels=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'])
它给出了错误ValueError: Input array must be 1 dimensional
。这就是我为什么尝试的原因
test = pd.qcut(kor_2005_values, [0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1], labels=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'])
这导致错误消息ValueError: Bin edges must be unique
是否有人知道如何解决此问题,或者更清楚地知道一个更简单的选项来替换/bin独立于pandas行/列的pandas数据帧数据
提前谢谢你
目前没有回答
相关问题 更多 >
编程相关推荐