“我的数据框”由非负值组成,但缺失值已被编码为负值。因此,我想在排除负值的同时对每一列进行装箱。
到目前为止,qcut
上的[df>0]
将Nan放在以前存在负值的位置,那不是我想要的,因为我想保留这些值(它们具有含义)。
dat[i]=pd.qcut(dat[i][dat[i]>0], 10,labels = False, duplicates='drop')
答案 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']