pandas cut()
documentation बताता है कि: "सीमा शुल्क से बाहर परिणामस्वरूप स्पष्ट वस्तु में NA होगा।" यह मुश्किल बनाता है जब ऊपरी सीमा अनिवार्य रूप से स्पष्ट या महत्वपूर्ण नहीं है। उदाहरण के लिए:अनंत ऊपरी/निचले सीमाओं के साथ पांडा काट
cut (weight, bins=[10,50,100,200])
डिब्बे का उत्पादन होगा:
[(10, 50] < (50, 100] < (100, 200]]
तो cut (250, bins=[10,50,100,200])
एक NaN
का उत्पादन करेगा, के रूप में होगा cut (5, bins=[10,50,100,200])
। मैं जो करने की कोशिश कर रहा हूं वह पहले उदाहरण के लिए > 200
और दूसरी के लिए < 10
का उत्पादन करता है।
मुझे पता है मैं cut (weight, bins=[float("inf"),10,50,100,200,float("inf")])
या समकक्ष कर सकता है, लेकिन रिपोर्ट शैली मैं अनुसरण कर रहा हूं (200, inf]
तरह बातें की अनुमति नहीं है। मुझे भी एहसास है कि मैं वास्तव में cut()
पर labels
पैरामीटर के माध्यम से कस्टम लेबल निर्दिष्ट कर सकता हूं, लेकिन इसका मतलब है कि हर बार जब मैं bins
समायोजित करता हूं, तो उन्हें समायोजित करना याद रखना, जो अक्सर हो सकता है।
क्या मैंने सभी संभावनाओं को समाप्त कर दिया है, या cut()
में कहीं और pandas
में कहीं और है जो मुझे ऐसा करने में मदद करेगा? मैं cut()
के लिए एक रैपर फ़ंक्शन लिखने के बारे में सोच रहा हूं जो डिब्बे से वांछित प्रारूप में लेबल स्वचालित रूप से उत्पन्न करेगा, लेकिन मैं पहले यहां जांचना चाहता था।
क्या आप बिन सीमाओं को सेट करने के बारे में पूछ रहे हैं, या "200+" के रूप में लेबल कैसे करें? आप ऊपरी सीमा को केवल 'the_data.max() + 1' या कुछ पर सेट कर सकते हैं, लेकिन मुझे लगता है कि यदि आप उस विशिष्ट प्रारूप को चाहते हैं तो आपको लेबल को मैन्युअल रूप से सेट करना होगा। – BrenBarn
हाँ, मुझे लगता है कि यह एकमात्र तरीका है। –