সমস্যা বিবরণ
একটি স্ট্রিং সিরিজ দেওয়া আছে। যেসব স্ট্রিং-এ ঠিক দুটি স্পেস (space character) আছে, সেগুলো সিরিজ থেকে বাদ দিতে হবে।
ইনপুট সিরিজ
0 This is pandas
1 python script
2 pandas series
সমাধান ১: রেগুলার এক্সপ্রেশন ও filter() ব্যবহার করে
import pandas as pd
import re
l = ["This is pandas", "python script", "pandas series"]
data = pd.Series(l)
# ফিল্টার: যেসব স্ট্রিং-এ স্পেসের সংখ্যা ২ নয়
result = pd.Series(filter(lambda x: len(re.findall(r" ", x)) != 2, data))
print(data[data.isin(result)])
সমাধান ২: স্ট্রিং count() মেথড ও লুপ ব্যবহার করে
import pandas as pd
l = ["This is pandas", "python script", "pandas series"]
data = pd.Series(l)
for i, j in data.items():
if j.count(' ') == 2:
data.pop(i) # সারি মুছে ফেলা
print("মডিফাইড সিরিজ:")
print(data)
আউটপুট (দুই পদ্ধতিরই)
1 python script
2 pandas series
dtype: object
ব্যাখ্যা
- "This is pandas" → ২টি স্পেস → রিমুভ হয়েছে।
- "python script" → ১টি স্পেস → রাখা হয়েছে।
- "pandas series" → ১টি স্পেস → রাখা হয়েছে।
দ্রষ্টব্য: data.pop(i) ইনপ্লেস মডিফাই করে, ইনডেক্স অপ্রত্যাশিতভাবে বদলাতে পারে। নতুন সিরিজ তৈরি করা নিরাপদ।