पांडा: सूचकांक मूल्य के आधार पर फ़िल्टर कैसे करें
आप इंडेक्स मानों के आधार पर पांडा डेटाफ़्रेम में पंक्तियों को फ़िल्टर करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:
df_filtered = df[df. index . isin (some_list)]
यह पांडा डेटाफ़्रेम को केवल उन पंक्तियों को शामिल करने के लिए फ़िल्टर करेगा जिनके सूचकांक मान some_list में समाहित हैं।
निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण 1: संख्यात्मक सूचकांक मानों द्वारा फ़िल्टर करें
मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' points ': [18, 22, 19, 14, 14, 11, 20, 28],
' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print (df)
points assists rebounds
0 18 5 11
1 22 7 8
2 19 7 10
3 14 9 6
4 14 12 6
5 11 9 5
6 20 9 9
7 28 4 12
ध्यान दें कि सूचकांक मान संख्यात्मक हैं।
मान लीजिए हम उन पंक्तियों को फ़िल्टर करना चाहते हैं जिनका सूचकांक मान 1, 5, 6, या 7 है।
ऐसा करने के लिए हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
#define list of index values
some_list = [1, 5, 6, 7]
#filter for rows in list
df_filtered = df[df. index . isin (some_list)]
#view filtered DataFrame
print (df_filtered)
points assists rebounds
1 22 7 8
5 11 9 5
6 20 9 9
7 28 4 12
ध्यान दें कि लौटाई गई एकमात्र पंक्तियाँ 1, 5, 6, या 7 के सूचकांक मान वाली हैं।
उदाहरण 2: गैर-संख्यात्मक सूचकांक मानों द्वारा फ़िल्टर करें
मान लीजिए हमारे पास निम्नलिखित पांडा डेटाफ़्रेम हैं:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' points ': [18, 22, 19, 14, 14, 11, 20, 28],
' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]},
index=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])
#view DataFrame
print (df)
points assists rebounds
A 18 5 11
B 22 7 8
C 19 7 10
D 14 9 6
E 14 12 6
F 11 9 5
G 20 9 9
H 28 4 12
ध्यान दें कि सूचकांक मान वर्ण मान हैं।
मान लीजिए हम उन पंक्तियों को फ़िल्टर करना चाहते हैं जिनका सूचकांक मान A, C, F, या G के बराबर है।
ऐसा करने के लिए हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
#define list of index values
some_list = ['A', 'C', 'F', 'G']
#filter for rows in list
df_filtered = df[df. index . isin (some_list)]
#view filtered DataFrame
print (df_filtered)
points assists rebounds
A 18 5 11
C 19 7 10
F 11 9 5
G 20 9 9
ध्यान दें कि लौटाई गई एकमात्र पंक्तियाँ ए, सी, एफ, या जी के सूचकांक मान वाली हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य कार्य कैसे करें:
पांडास डेटाफ़्रेम में एक पंक्ति कैसे सम्मिलित करें
पंडों के डेटाफ़्रेम में पहली पंक्ति को कैसे हटाएं
स्थिति के आधार पर पांडा डेटाफ़्रेम में पंक्तियों को कैसे हटाएं