खोज…


नियमित अभिव्यक्ति

# Extract strings with a specific regex
df= df['col_name'].str.extract[r'[Aa-Zz]']

# Replace strings within a regex
df['col_name'].str.replace('Replace this', 'With this')

रेगेक्स का उपयोग करके तारों का मिलान कैसे करें, इसकी जानकारी के लिए, नियमित एक्सप्रेशन के साथ आरंभ करना देखें।

कटा हुआ तार

एक श्रृंखला में तार का उपयोग कर कटा हुआ जा सकता है .str.slice() कोष्ठक का उपयोग विधि, या अधिक आसानी से, ( .str[] )।

In [1]: ser = pd.Series(['Lorem ipsum', 'dolor sit amet', 'consectetur adipiscing elit'])
In [2]: ser
Out[2]: 
0                    Lorem ipsum
1                 dolor sit amet
2    consectetur adipiscing elit
dtype: object 

प्रत्येक स्ट्रिंग का पहला वर्ण प्राप्त करें:

In [3]: ser.str[0]
Out[3]: 
0    L
1    d
2    c
dtype: object

प्रत्येक स्ट्रिंग के पहले तीन वर्ण प्राप्त करें:

In [4]: ser.str[:3]
Out[4]: 
0    Lor
1    dol
2    con
dtype: object

प्रत्येक स्ट्रिंग का अंतिम वर्ण प्राप्त करें:

In [5]: ser.str[-1]
Out[5]:
0    m
1    t
2    t
dtype: object

प्रत्येक स्ट्रिंग के अंतिम तीन वर्ण प्राप्त करें:

In [6]: ser.str[-3:]
Out[6]: 
0    sum
1    met
2    lit
dtype: object

पहले 10 अक्षरों के हर दूसरे वर्ण को प्राप्त करें:

In [7]: ser.str[:10:2]
Out[7]: 
0    Lrmis
1    dlrst
2    cnett
dtype: object

पंडों ने स्लाइस और सूचकांकों को संभालने के दौरान अजगर के समान व्यवहार किया। उदाहरण के लिए, यदि कोई सूचकांक सीमा से बाहर है, तो पायथन एक त्रुटि उठाता है:

In [8]:'Lorem ipsum'[12]
# IndexError: string index out of range

हालाँकि, यदि कोई स्लाइस श्रेणी के बाहर है, तो एक खाली स्ट्रिंग लौटा दी जाती है:

In [9]: 'Lorem ipsum'[12:15]
Out[9]: ''

जब कोई सूचकांक सीमा से बाहर हो, तो पंडों ने NaN लौटाया:

In [10]: ser.str[12]
Out[10]:
0    NaN
1      e
2      a
dtype: object

और यदि कोई स्लाइस सीमा से बाहर है तो एक खाली स्ट्रिंग लौटाता है:

In [11]: ser.str[12:15]
Out[11]:
0       
1     et
2    adi
dtype: object

एक स्ट्रिंग की सामग्री के लिए जाँच

str.contains() पद्धति का उपयोग यह जांचने के लिए किया जा सकता है कि किसी श्रृंखला के प्रत्येक स्ट्रिंग में पैटर्न होता है या नहीं। str.startswith() और str.endswith() विधियों का उपयोग अधिक विशिष्ट संस्करणों के रूप में भी किया जा सकता है।

In [1]: animals = pd.Series(['cat', 'dog', 'bear', 'cow', 'bird', 'owl', 'rabbit', 'snake'])

जाँचें कि क्या तार में 'a' अक्षर है:

In [2]: animals.str.contains('a')
Out[2]:
0      True
1     False
2      True
3     False
4     False
5     False
6      True
7      True
8      True
dtype: bool

इसका उपयोग बूलियन इंडेक्स के रूप में किया जा सकता है ताकि केवल '' a 'अक्षर वाले जानवरों को वापस किया जा सके:

In [3]: animals[animals.str.contains('a')]
Out[3]: 
0       cat
2      bear
6    rabbit
7     snake
dtype: object

str.startswith और str.endswith विधियाँ समान रूप से काम करती हैं, लेकिन वे str.endswith भी इनपुट के रूप में स्वीकार करती हैं।

In [4]: animals[animals.str.startswith(('b', 'c'))]
# Returns animals starting with 'b' or 'c'
Out[4]: 
0     cat
2    bear
3     cow
4    bird
dtype: object

तार का पूंजीकरण

In [1]: ser = pd.Series(['lORem ipSuM', 'Dolor sit amet', 'Consectetur Adipiscing Elit'])

सभी को अपरकेस में बदलें:

In [2]: ser.str.upper()
Out[2]:
0                    LOREM IPSUM
1                 DOLOR SIT AMET
2    CONSECTETUR ADIPISCING ELIT
dtype: object

सभी छोटे अक्षर:

In [3]: ser.str.lower()
Out[3]:
0                    lorem ipsum
1                 dolor sit amet
2    consectetur adipiscing elit
dtype: object

पहले वर्ण को बड़ा करें और शेष को कम करें:

In [4]: ser.str.capitalize()
Out[4]:
0                    Lorem ipsum
1                 Dolor sit amet
2    Consectetur adipiscing elit
dtype: object

प्रत्येक स्ट्रिंग को एक शीर्षक में बदलें (प्रत्येक स्ट्रिंग में प्रत्येक शब्द के पहले वर्ण को कैपिटल करें, शेष को कम करें):

In [5]: ser.str.title()
Out[5]:
0                    Lorem Ipsum
1                 Dolor Sit Amet
2    Consectetur Adipiscing Elit
dtype: object

स्वैप केस (लोअरकेस को अपरकेस और इसके विपरीत में कनवर्ट करें):

In [6]: ser.str.swapcase()
Out[6]:
0                    LorEM IPsUm
1                 dOLOR SIT AMET
2    cONSECTETUR aDIPISCING eLIT
dtype: object

पूंजीकरण को बदलने वाले इन तरीकों के अलावा, कई तरीकों का उपयोग स्ट्रिंग्स के पूंजीकरण की जांच के लिए किया जा सकता है।

In [7]: ser = pd.Series(['LOREM IPSUM', 'dolor sit amet', 'Consectetur Adipiscing Elit'])

जांचें कि क्या यह सब लोअरकेस है:

In [8]: ser.str.islower()
Out[8]:
0    False
1     True
2    False
dtype: bool

क्या यह सब बड़ा है:

In [9]: ser.str.isupper()
Out[9]:
0     True
1    False
2    False
dtype: bool

क्या यह एक शीर्षक युक्त स्ट्रिंग है:

In [10]: ser.str.istitle()
Out[10]:
0    False
1    False
2     True
dtype: bool


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow