Text Processing
ஒரு டேட்டாஃப்பிரேம் / சீரீஸில் சேமிக்கப்பட்டுள்ள சொற்களைப் பகுத்துப் பார்த்து ஆய்வு செய்வதற்கு பயன்படும் functions-ஐ இப்பகுதியில் காணலாம். பொதுவாக இதுபோன்ற பங்க்ஷன் சீரீஸின் மீதுதான் செயல்படும். டேட்டாஃப்பிரேமாகவே இருந்தாலும், அதிலிருந்து ஒரு சீரீசை எடுத்து, அதன் மீதுதான் இதுபோன்ற functions-ஐ அப்ளை செய்ய முடியும்.
இவைகளின் தொகுப்பு பின்வருமாறு.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
df = pd.DataFrame({'Languages': pd.Series(['Tamil','English']), 'Subjects': pd.Series(['Maths','Science','Social'])}) | |
print (df) | |
print (df['Languages'].str.upper()) # lower(), swapcase(), islower(), isupper(), isnumeric() | |
print (df['Languages'].str.split('i')) | |
print (df['Languages'].str.contains('i')) | |
print (df['Languages'].str.len()) | |
print (df['Subjects'].str.startswith('S')) # endswith() | |
print (df['Subjects'].str.count('e')) | |
print (df['Subjects'].str.find('e')) | |
print (df['Subjects'].str.findall('e')) | |
print (df['Languages'].str.replace('i','e')) | |
print (df['Languages'].str.cat(sep=',')) | |
s = pd.Series(['Ramu','Somu','Jothi','Rathi','Jothi']) | |
print (s.str.get_dummies()) | |
print (s.str.repeat(4)) |
முதலில் மொழிகள் மற்றும் பாடங்களின் பெயர்களைக் கொண்ட இரண்டு சீரீஸ், ஒரு டேட்டாஃப்பிரேமில் சேமிக்கப்படுகிறது.
df = pd.DataFrame({‘Languages’: pd.Series([‘Tamil’,’English’]), ‘Subjects’: pd.Series([‘Maths’,’Science’,’Social’])})
print (df)
Languages Subjects
0 Tamil Maths
1 English Science
2 NaN Social
பிறகு Language எனும் சீரீஸில் சேமிக்கப்பட்டுள்ள சொற்களை மட்டும் கேபிடல் எழுத்துக்களில் அமைக்க விரும்பினால், அதற்கான பங்க்ஷன் பின்வருமாறு. அது தொடர்பான இன்னும் சில பங்க்ஷன்கள் கமென்ட் செய்து காட்டப்பட்டுள்ளது.
print (df[‘Languages’].str.upper()) # lower(), swapcase(), islower(), isupper(), isnumeric()
0 TAMIL
1 ENGLISH
2 NaN
Name: Languages, dtype: object
ஏதேனும் ஒரு குறிப்பிட்ட எழுத்து அல்லது குறியீடு மூலம் சொற்களைப் பிரித்து பல்வேறு வார்த்தைகளாக ஒரு லிஸ்ட் உள் அமைக்க split() பயன்படுகிறது.
print (df[‘Languages’].str.split(‘i’))
0 [Tam, l]
1 [Engl, sh]
2 NaN
Name: Languages, dtype: object
ஏதேனும் ஒரு குறிப்பிட்ட எழுத்து அல்லது குறியீடு நமது சீரீஸில் உள்ளதா இல்லையா என்பதைக் கண்டுபிடிக்க contains () பயன்படுகிறது.
print (df[‘Languages’].str.contains(‘i’))
0 True
1 True
2 NaN
Name: Languages, dtype: object
நமது சீரீஸில் சேமிக்கப்பட்டுள்ள சொற்களின் நீளங்களைக் கண்டுபிடிக்க len() பயன்படுகிறது.
print (df[‘Languages’].str.len())
0 5.0
1 7.0
2 NaN
Name: Languages, dtype: float64
ஒரு குறிப்பிட்ட எழுத்தில் சொற்கள் தொடங்கியுள்ளதா இல்லையா என்பதைக் கண்டுபிடிக்க startswith() பயன்படுகிறது.
print (df[‘Subjects’].str.startswith(‘S’)) # endswith()
0 False
1 True
2 True
Name: Subjects, dtype: bool
ஒரு குறிப்பிட்ட எழுத்து ஒரு சொல்லில் எத்தனை முறை வந்துள்ளது என்பதைக் கண்டுபிடிக்க count() பயன்படுகிறது.
print (df[‘Subjects’].str.count(‘e’))
0 0
1 2
2 0
Name: Subjects, dtype: int64
ஒரு குறிப்பிட்ட எழுத்து ஒரு சொல்லில் எந்த இடத்தில் அமைந்துள்ளது என்பதைக் கண்டுபிடிக்க find() பயன்படுகிறது. இதன் வெளியீடு 0 முதல் அதன் நீளத்திற்கு ஏற்ப அமையும். -1 என்றால் அந்த எழுத்து எவ்விடத்திலும் அமையவில்லை என்று பொருள்.
print (df[‘Subjects’].str.find(‘e’))
0 -1
1 3
2 -1
Name: Subjects, dtype: int64
print (df[‘Subjects’].str.findall(‘e’))
0 []
1 [e, e]
2 []
Name: Subjects, dtype: object
ஒரு எழுத்தை மற்றொரு எழுத்தால் இடமாற்றம் செய்ய replace பயன்படுகிறது.
print (df[‘Languages’].str.replace(‘i’,’e’))
0 Tamel
1 Englesh
2 NaN
Name: Languages, dtype: object
சீரீஸில் சேமிக்கப்பட்டுள்ள சொற்களை ஏதோ ஒரு குறியீடு கொண்டு பிரித்து வெளிப்படுத்த separator பயன்படுகிறது.
print (df[‘Languages’].str.cat(sep=’,’))
Tamil,English
ஒரு சீரீஸில் உள்ள unique சொற்களை எடுத்து அவை ஒவ்வொன்றும் எத்தனை முறை வந்துள்ளன என்பதைக் கண்டுபிடிக்க get_dummies பயன்படும்.
s = pd.Series([‘Ramu’,’Somu’,’Jothi’,’Rathi’,’Jothi’])
print (s.str.get_dummies())
Jothi Ramu Rathi Somu
0 0 1 0 0
1 0 0 0 1
2 1 0 0 0
3 0 0 1 0
4 1 0 0 0
ஒவ்வொரு சொல்லையும் குறிப்பிட்ட முறைகள் திரும்பத் திரும்ப அமைத்து வெளிப்படுத்த repeat() பயன்படுகிறது.
print (s.str.repeat(4))
0 RamuRamuRamuRamu
1 SomuSomuSomuSomu
2 JothiJothiJothiJothi
3 RathiRathiRathiRathi
4 JothiJothiJothiJothi
dtype: object