के साथ न्यूनतम() का उपयोग करते समय अन्य कॉलम रखें, मैं सभी पंक्तियों को छोड़ने के लिए groupby
का उपयोग कर रहा हूं जिसमें न्यूनतम कॉलम नहीं है। इस तरह कुछ:समूह (
df1 = df.groupby("item", as_index=False)["diff"].min()
हालांकि, अगर मेरे पास उन दो कॉलम से अधिक है, तो अन्य कॉलम गिरा दिए जाते हैं। क्या मैं उन कॉलम को समूहबी का उपयोग करके रख सकता हूं, या क्या मुझे पंक्तियों को छोड़ने के लिए एक अलग तरीका खोजना होगा?
मेरे डेटा की तरह दिखता है:
item diff otherstuff
0 1 2 1
1 1 1 2
2 1 3 7
3 2 -1 0
4 2 1 3
5 2 4 9
6 2 -6 2
7 3 0 0
8 3 2 9
और तरह खत्म करना चाहिए:
item diff otherstuff
0 1 1 2
1 2 -6 2
2 3 0 0
लेकिन क्या मैं हो रही है:
item diff
0 1 1
1 2 -6
2 3 0
मैं के माध्यम से देख रहा है दस्तावेज और कुछ भी नहीं मिला। मैंने कोशिश की:
df1 = df.groupby(["item", "otherstuff"], as_index=false)["diff"].min()
df1 = df.groupby("item", as_index=false)["diff"].min()["otherstuff"]
df1 = df.groupby("item", as_index=false)["otherstuff", "diff"].min()
लेकिन उन में से कोई भी काम (पिछले एक है कि वाक्य रचना एक समूह के बाद एकत्रित करने के लिए है के साथ महसूस किया बनाई गई है)।
पहले सभी 'NaN' लौटाता है, लेकिन दूसरी विधि काम करती है। धन्यवाद! – PointXIV
ऐसा करने के दो तरीके प्रदान करने के लिए धन्यवाद। मुझे कई उदाहरण मिल गए हैं जो एक काम करता है जब दूसरा और वीज़ा बनाम नहीं होता है। ऐसा लगता है कि यह इस बात पर निर्भर करता है कि आपके तत्व संख्यात्मक हैं या नहीं। दोनों के लिए अच्छा है। – sfortney
.sort_values आजकल ... सही है? –