समस्या विवरण
दिए गए स्ट्रिंग Series से केवल वही तत्व चुनें जो 'a' से शुरू होते हैं और 'a' पर खत्म होते हैं।
इनपुट Series
0 apple 1 oranges 2 alpha 3 aroma 4 beta dtype: object
अपेक्षित आउटपुट
2 alpha 3 aroma dtype: object
समाधान 1: रेगुलर एक्सप्रेशन (Regex) का उपयोग
import pandas as pd
import re
l = ["apple","oranges","alpha","aroma","beta"]
data = pd.Series(l)
# पैटर्न: 'a' से शुरू और 'a' पर खत्म
exp = r'^[a]$|^([a]).*\1$'
ls = []
for i in data:
if re.search(exp, i):
ls.append(i)
result = data[data.isin(ls)]
print(result)
समाधान 2: स्ट्रिंग विधियों और lambda का उपयोग (सरल)
import pandas as pd
l = ["apple","oranges","alpha","aroma","beta"]
data = pd.Series(l)
# startswith और endswith का उपयोग
result = list(filter(lambda x: x.startswith('a') and x.endswith('a'), l))
print(data[data.isin(result)])
आउटपुट (दोनों)
2 alpha 3 aroma dtype: object
पैंडास वेक्टराइज़्ड तरीका (सबसे तेज़):
mask = data.str.startswith('a') & data.str.endswith('a')
print(data[mask])