के निकट डेटाफ़्रेम में वापसी पंक्तियां मेरे पास एक उपयोगकर्ता परिभाषित संख्या है जिसे मैं डेटाफ्रेम के किसी निश्चित कॉलम से तुलना करना चाहता हूं।उपयोगकर्ता परिभाषित संख्या
मैं डेटाफ्रेम की पंक्तियों को वापस करना चाहता हूं जिसमें डीएफ, कहें, df.num के एक निश्चित कॉलम में दिए गए नंबर x के 5 निकटतम नंबर शामिल हैं।
लूप के बिना ऐसा करने का सबसे अच्छा तरीका किसी भी सुझाव की सराहना की जाएगी।
मान लीजिए कि हम इसे 5 निकटतम पंक्तियां देने के लिए सामान्य बनाना चाहते हैं (जब हमारे पास एन इनपुट होते हैं और हम निकटता को अलग-अलग कॉलम में मापना चाहते हैं)। क्या आप अभी भी ऐसा करेंगे? यदि n = 2 (कहें, x = 0.75, y = 5.0) - "और" df.ix [(df.num1-x) .abs() का उपयोग करना सबसे आसान है। Argsort() [: 5] & (df.num2-y) .abs()। argsort() [: 5]]? धन्यवाद! –
क्या पांडा इंटरफ़ेस बदल गया था? मुझे 'df.ix' के बजाय' df.iloc' का उपयोग करने की आवश्यकता है अन्यथा फ़ील्ड सभी 'NaN' हैं। – swenzel
आह मुझे लगता है कि समस्या मेरे डीएफ की अनुक्रमणिका के साथ है, यह 'रेंज (लेन (डीएफ)) जैसे अनुक्रम नहीं है। हालांकि, 'iloc' दोनों "सामान्य" अनुक्रमणिका और मेरी अनुक्रमणिका दोनों के साथ काम करता प्रतीत होता है। मैं पांडा के साथ बहुत अनुभवी नहीं हूं लेकिन इस व्यवहार से पता चलता है कि 'iloc' का उपयोग करना अधिक स्थिर होगा? – swenzel