Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

किसी दिए गए श्रृंखला में प्रत्येक शब्द में मौजूद एक से अधिक विशेष वर्णों की कुल संख्या ज्ञात करने के लिए पायथन पांडा का उपयोग कैसे करें?

इनपुट - मान लें कि आपके पास एक श्रृंखला है,

0       fruits!!
1       *cakes*
2       $nuts
3       #drinks
dtype: object

इनपुट - एक श्रृंखला में एक से अधिक विशेष वर्णों के लिए कुल संख्या का परिणाम 2 है।

आइए इस प्रश्न के विभिन्न समाधान खोजने का प्रयास करें।

समाधान 1

इसे हल करने के लिए, हम नीचे दिए गए चरणों का पालन करेंगे -

  • एक श्रृंखला परिभाषित करें

  • मूल्यों की विशेष वर्ण सूची बनाएं।

  • विशेष वर्ण का प्रारंभिक मान और कुल विशेष चार गणना मान 0 के रूप में सेट करें।

  • लूप के लिए बनाएं और श्रृंखला में सभी मानों को एक-एक करके एक्सेस करें और विशेष वर्ण के आधार पर मान की तुलना करने के लिए एक if कंडीशन बनाएं -

for i in data:
   chars_count = 0
   for j in list(i):
      if j in special_char:
         chars_count = chars_count+1
  • if कंडीशन सेट करें और काउंट वैल्यू चेक करें। अगर गिनती> 1 है, तो कुल गिनती प्रिंट करें।

    इसे नीचे परिभाषित किया गया है -

if(chars_count>1):
   total_count = total_count+1
      print(total_count)

समाधान 2

वैकल्पिक रूप से, हम कुल संख्या ज्ञात करने के लिए रेगुलर एक्सप्रेशन और लैम्ब्डा फ़ंक्शन फ़िल्टर विधि का उपयोग कर सकते हैं।

इसे हल करने के लिए, हम नीचे दिए गए चरणों का पालन करेंगे -

  • एक श्रृंखला परिभाषित करें

  • विशेष चार () के आधार पर इनपुट को मान्य करने के लिए लैम्ब्डा फ़िल्टर विधि लागू करें।

  • ज्ञात कीजिए कि लंबाई एक से अधिक है। इसे नीचे परिभाषित किया गया है -

l=["fruits!!","*cakes*","$nuts","#drinks"]
               data=pd.Series(filter(lambda
x:1<len(re.findall(r"\W",x)),l))

उदाहरण

आइए इसे बेहतर ढंग से समझने के लिए कार्यान्वयन देखें -

import pandas as pd
import string
l = ["Fruits!!","*Cakes*","$Nuts","#Drinks"]
data = pd.Series(l)
chars=string.punctuation
special_char=list(chars)
total_count = 0
for i in data:
   chars_count = 0
   for j in list(i):
      if j in special_char:
         chars_count = chars_count+1
   if(chars_count>1):
      total_count = total_count+1
print(total_count)

समाधान 3

उदाहरण

import pandas as pd
import re
l=["fruits!!","*cakes*","$nuts","#drinks"]
data=pd.Series(filter(lambda x:1<len(re.findall(r"\W",x)),l))
print("count:",len(data))

आउटपुट

उपरोक्त कार्यक्रम का आउटपुट इस प्रकार है -

2

  1. पायथन में स्ट्रिंग की एक जोड़ी में मिलान करने वाले वर्णों की संख्या की गणना करें

    हमें दो तार दिए गए हैं। हमें पहली स्ट्रिंग में वर्णों की गिनती खोजने की ज़रूरत है जो दूसरी स्ट्रिंग में भी मौजूद हैं। सेट के साथ सेट फ़ंक्शन हमें एक स्ट्रिंग में सभी तत्वों को अद्वितीय मान देता है। हम और ऑपरेटर का भी उपयोग करते हैं जो दो दिए गए स्ट्रिंग्स के बीच सामान्य तत्वों को ढूंढता है। उदाहरण

  1. पायथन में x से बड़ी सबसे छोटी संख्या कैसे ज्ञात करें?

    अंतर्निहित फ़ंक्शन ceil() सबसे छोटी संख्या देता है जो दी गई संख्या से बड़ी है >>> x=6.67 >>> import math >>> math.ceil(x) 7 >>> x=1.13 >>> math.ceil(x) 2 >>> x=5.78 >>> math.ceil(x) 6 >>> x=-5.78 >>> math.ceil(x) -5 ध्

  1. पायथन में दो से अधिक स्ट्रिंग्स से सबसे लंबे समय तक सामान्य सबस्ट्रिंग कैसे खोजें?

    सबसे लंबे सामान्य सबस्ट्रिंग एल्गोरिथम के लिए सामान्य गतिशील प्रोग्रामिंग कार्यान्वयन O(nm) समय में चलता है। निम्नलिखित सबसे लंबे सामान्य सबस्ट्रिंग एल्गोरिथम का कार्यान्वयन है: उदाहरण def longest_common_substring(s1, s2):    m = [[0] * (1 + len(s2)) for i in xrange(1 + len(s1))]   &n