如何对值进行分类,而忽略其他在数据框内满足特定条件的值?

时间:2018-10-04 13:03:10

标签: python pandas binning

“我的数据框”由非负值组成,但缺失值已被编码为负值。因此,我想在排除负值的同时对每一列进行装箱。

到目前为止,qcut上的[df>0]将Nan放在以前存在负值的位置,那不是我想要的,因为我想保留这些值(它们具有含义)。

dat[i]=pd.qcut(dat[i][dat[i]>0], 10,labels = False, duplicates='drop') 

1 个答案:

答案 0 :(得分:0)

您仍然不清楚我想要的输入和输出(将它们放入问题可能会有所帮助)。但是我认为您可以通过创建一个临时列并用原始列填充NaN值来实现您想要的。

从原始qcut代码开始,但将其分配到新列:

dat['temp'] = pd.qcut(dat[i][dat[i]>0], 10, labels=False, duplicates='drop')
dat[i] = dat['temp'].fillna(df[i])
del df['temp']