पांडा: एकाधिक यदि अन्यथा शर्तों का उपयोग करके एक नया कॉलम बनाएं


यदि अन्य शर्तों का उपयोग करते हुए आप पांडा डेटाफ़्रेम में एक नया कॉलम बनाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #define conditions
conditions = [
    (df[' column1 '] == ' A ') & (df[' column2 '] < 20 ),
    (df[' column1 '] == ' A ') & (df[' column2 '] >= 20 ),
    (df[' column1 '] == ' B ') & (df[' column2 '] < 20 ),
    (df[' column1 '] == ' B ') & (df[' column2 '] >= 20 )
]

#define results
results = [' result1 ', ' result2 ', ' result3 ', ' result4 ']

#create new column based on conditions in column1 and column2
df[' new_column '] = np. select (conditions, results)

यह विशेष उदाहरण new_column नामक एक कॉलम बनाता है जिसका मान DataFrame में column1 और column2 के मानों पर आधारित होता है।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: पांडा में एकाधिक यदि अन्यथा शर्तों का उपयोग करके एक नया कॉलम बनाएं

मान लीजिए कि हमारे पास निम्नलिखित पांडा डेटाफ़्रेम है जिसमें विभिन्न बास्केटबॉल खिलाड़ियों के बारे में जानकारी है:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [15, 18, 22, 24, 12, 17, 20, 28]})

#view DataFrame
print (df)

  team points
0 to 15
1 to 18
2 to 22
3 to 24
4 B 12
5 B 17
6 B 20
7 B 28

अब मान लें कि हम क्लास नामक एक नया कॉलम बनाना चाहते हैं जो प्रत्येक खिलाड़ी को निम्नलिखित चार समूहों में से एक में वर्गीकृत करता है:

  • Bad_A यदि टीम A है और अंक <20 है
  • अच्छा_A यदि टीम A है और अंक ≥ 20 है
  • Bad_B यदि टीम B है और अंक <20 हैं
  • अच्छा_बी यदि टीम बी है और अंक ≥20 है

ऐसा करने के लिए हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 import numpy as np

#define conditions
conditions = [
    (df[' team '] == ' A ') & (df[' points '] < 20 ),
    (df[' team '] == ' A ') & (df[' points '] >= 20 ),
    (df[' team '] == ' B ') & (df[' points '] < 20 ),
    (df[' team '] == ' B ') & (df[' points '] >= 20 )
]

#define results
results = [' Bad_A ', ' Good_A ', ' Bad_B ', ' Good_B ']

#create new column based on conditions in column1 and column2
df[' class '] = np. select (conditions, results)

#view updated DataFrame
print (df)

  team points class
0 A 15 Bad_A
1 A 18 Bad_A
2 A 22 Good_A
3 A 24 Good_A
4 B 12 Bad_B
5 B 17 Bad_B
6 B 20 Good_B
7 B 28 Good_B

क्लास नामक नया कॉलम टीम और अंक कॉलम में मूल्यों के आधार पर प्रत्येक खिलाड़ी की रैंकिंग प्रदर्शित करता है।

नोट : आप NumPy चयन() फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य कार्य कैसे करें:

पांडा: स्थिति के आधार पर बूलियन कॉलम कैसे बनाएं
पांडा: शर्त के साथ कॉलम में मानों की गणना कैसे करें
पांडा: ग्रुपबी का उपयोग कैसे करें और सशर्त गिनती कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *