如何对值进行分类,同时忽略满足 Dataframe 中特定条件的其他值?
How to bin values, while ignoring others that fulfill a certain criteria in a Dataframe?
我的 Dataframe 由非负值组成,但缺失值被编码为负值。所以我想在排除负值的同时对每一列进行分类。
到目前为止 qcut
在 [df>0]
上将 Nan 放在以前有负值的地方,这不是我想要的,因为我想保留这些值(它们有意义)。
dat[i]=pd.qcut(dat[i][dat[i]>0], 10,labels = False, duplicates='drop')
你想要的输入和输出对我来说仍然有点不清楚(将它们放入问题中可能会有所帮助)。但我认为您只需创建一个临时列并用原始列填充 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']
我的 Dataframe 由非负值组成,但缺失值被编码为负值。所以我想在排除负值的同时对每一列进行分类。
到目前为止 qcut
在 [df>0]
上将 Nan 放在以前有负值的地方,这不是我想要的,因为我想保留这些值(它们有意义)。
dat[i]=pd.qcut(dat[i][dat[i]>0], 10,labels = False, duplicates='drop')
你想要的输入和输出对我来说仍然有点不清楚(将它们放入问题中可能会有所帮助)。但我认为您只需创建一个临时列并用原始列填充 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']