मैं एक dataframe है:पांडा dataframe में स्तंभ quantile साथ बाहरी कारकों के कारण बदलें
df = pd.DataFrame(np.random.randint(0,100,size=(5, 2)), columns=list('AB'))
A B
0 92 65
1 61 97
2 17 39
3 70 47
4 56 6
यहाँ 5% quantiles हैं:
down_quantiles = df.quantile(0.05)
A 24.8
B 12.6
और यहाँ मानों quantiles की तुलना में कम कर रहे हैं के लिए मुखौटा है:
outliers_low = (df < down_quantiles)
A B
0 False False
1 False False
2 True False
3 False False
4 False True
मैं अपने कॉलम क्वांटाइल के लिए मात्रा से कम df
में मान सेट करना चाहता हूं । मैं इसे इस तरह कर सकता हूं:
df[outliers_low] = np.nan
df.fillna(down_quantiles, inplace=True)
A B
0 92.0 65.0
1 61.0 97.0
2 24.8 39.0
3 70.0 47.0
4 56.0 12.6
लेकिन निश्चित रूप से एक और शानदार तरीका होना चाहिए। मैं fillna
के बिना यह कैसे कर सकता हूं? धन्यवाद।
आप एक लाइनर मन करते हैं? – EdChum
मैंने सोचा कि ऐसा करने के लिए और अधिक देशी पांडा रास्ता होना चाहिए। और निकिल मावेली का जवाब स्पष्ट रूप से दिखाता है। – shda
हां मैं 'मास्क' के बारे में भूल गया, मैंने निकिल के जवाब को तब्दील कर दिया है – EdChum