Python Pandas — Работа с текстовыми данными

Поділитись


В этой главе мы обсудим строковые операции с нашей базовой серией / индексом. В последующих главах мы узнаем, как применять эти строковые функции к DataFrame.

Pandas предоставляет набор строковых функций, которые облегчают работу со строковыми данными. Наиболее важно, что эти функции игнорируют (или исключают) отсутствующие значения / NaN.

Почти все эти методы работают со строковыми функциями Python (см .: https://docs.python.org/3/library/stdtypes.html#string-methods ). Итак, преобразуйте объект Series в объект String и затем выполните операцию.

Давайте теперь посмотрим, как выполняется каждая операция.

Sr.No	Описание функции
1	
ниже ()

Преобразует строки в Series / Index в нижний регистр.

2	
Верхняя ()

Преобразует строки в Series / Index в верхний регистр.

3	
LEN ()

Вычисляет длину строки ().

4	
полоса ()

Помогает удалить пробелы (включая перевод строки) из каждой строки в Серии / индексе с обеих сторон.

5	
Трещина(‘ ‘)

Разбивает каждую строку по заданному шаблону.

6	
кошка (sep = »)

Объединяет элементы серии / индекса с указанным разделителем.

7	
get_dummies ()

Возвращает DataFrame с закодированными значениями One-Hot.

8	
содержит (шаблон)

Возвращает логическое значение True для каждого элемента, если подстрока содержится в элементе, иначе False.

9	
заменить (а, б)

Заменяет значение a значением b .

10	
повтор (значение)

Повторяет каждый элемент с указанным числом раз.

11	
кол — (шаблон)

Возвращает количество появлений шаблона в каждом элементе.

12	
StartsWith (шаблон)

Возвращает true, если элемент в Series / Index начинается с шаблона.

13	
EndsWith (шаблон)

Возвращает true, если элемент в Series / Index заканчивается шаблоном.

14	
найти (шаблон)

Возвращает первую позицию первого вхождения шаблона.

15	
FindAll (шаблон)

Возвращает список всех вхождений шаблона.

16	
swapcase

Меняет местами корпус нижний / верхний.

17	
ISLOWER ()

Проверяет, все ли символы в каждой строке в Серии / Индексе в нижнем регистре или нет. Возвращает логическое значение

18	
ISUPPER ()

Проверяет, все ли символы в каждой строке в Серии / Индексе в верхнем регистре или нет. Возвращает логическое значение.

19	
IsNumeric ()

Проверяет, являются ли все символы в каждой строке в Серии / Индексе числовыми. Возвращает логическое значение.

ниже ()

Преобразует строки в Series / Index в нижний регистр.

Верхняя ()

Преобразует строки в Series / Index в верхний регистр.

LEN ()

Вычисляет длину строки ().

полоса ()

Помогает удалить пробелы (включая перевод строки) из каждой строки в Серии / индексе с обеих сторон.


Веб-разработчик
Трещина(‘ ‘)

Разбивает каждую строку по заданному шаблону.

кошка (sep = »)

Объединяет элементы серии / индекса с указанным разделителем.

get_dummies ()

Возвращает DataFrame с закодированными значениями One-Hot.

содержит (шаблон)

Возвращает логическое значение True для каждого элемента, если подстрока содержится в элементе, иначе False.

заменить (а, б)

Заменяет значение a значением b .

повтор (значение)

Повторяет каждый элемент с указанным числом раз.

кол — (шаблон)

Возвращает количество появлений шаблона в каждом элементе.

StartsWith (шаблон)

Возвращает true, если элемент в Series / Index начинается с шаблона.

EndsWith (шаблон)

Возвращает true, если элемент в Series / Index заканчивается шаблоном.

найти (шаблон)

Возвращает первую позицию первого вхождения шаблона.

FindAll (шаблон)

Возвращает список всех вхождений шаблона.

swapcase

Меняет местами корпус нижний / верхний.

ISLOWER ()

Проверяет, все ли символы в каждой строке в Серии / Индексе в нижнем регистре или нет. Возвращает логическое значение

ISUPPER ()

Проверяет, все ли символы в каждой строке в Серии / Индексе в верхнем регистре или нет. Возвращает логическое значение.

IsNumeric ()

Проверяет, являются ли все символы в каждой строке в Серии / Индексе числовыми. Возвращает логическое значение.

Давайте теперь создадим серию и посмотрим, как работают все вышеперечисленные функции.

 Live Demo

import pandas as pd
import numpy as np

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])

print s
Его вывод выглядит следующим образом —

0            Tom
1   William Rick
2           John
3        Alber@t
4            NaN
5           1234
6    Steve Smith
dtype: object
ниже ()
 Live Demo

import pandas as pd
import numpy as np

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])

print s.str.lower()
Его вывод выглядит следующим образом —

0            tom
1   william rick
2           john
3        alber@t
4            NaN
5           1234
6    steve smith
dtype: object
Верхняя ()
 Live Demo

import pandas as pd
import numpy as np

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])

print s.str.upper()
Его вывод выглядит следующим образом —

0            TOM
1   WILLIAM RICK
2           JOHN
3        ALBER@T
4            NaN
5           1234
6    STEVE SMITH
dtype: object
LEN ()
 Live Demo

import pandas as pd
import numpy as np

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])
print s.str.len()
Его вывод выглядит следующим образом —

0    3.0
1   12.0
2    4.0
3    7.0
4    NaN
5    4.0
6   10.0
dtype: float64
полоса ()
 Live Demo

import pandas as pd
import numpy as np
s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
print s
print ("After Stripping:")
print s.str.strip()
Его вывод выглядит следующим образом —

0            Tom
1   William Rick
2           John
3        Alber@t
dtype: object

After Stripping:
0            Tom
1   William Rick
2           John
3        Alber@t
dtype: object
сплит (шаблон)
 Live Demo

import pandas as pd
import numpy as np
s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
print s
print ("Split Pattern:")
print s.str.split(' ')
Его вывод выглядит следующим образом —

0            Tom
1   William Rick
2           John
3        Alber@t
dtype: object

Split Pattern:
0   [Tom, , , , , , , , , , ]
1   [, , , , , William, Rick]
2   [John]
3   [Alber@t]
dtype: object
кошка (сентябрь = шаблон)
 Live Demo

import pandas as pd
import numpy as np

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print s.str.cat(sep='_')
Его вывод выглядит следующим образом —

Tom _ William Rick_John_Alber@t
get_dummies ()
 Live Demo

import pandas as pd
import numpy as np

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print s.str.get_dummies()
Его вывод выглядит следующим образом —

   William Rick   Alber@t   John   Tom
0             0         0      0     1
1             1         0      0     0
2             0         0      1     0
3             0         1      0     0
содержит ()
 Live Demo

import pandas as pd

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print s.str.contains(' ')
Его вывод выглядит следующим образом —

0   True
1   True
2   False
3   False
dtype: bool
заменить (а, б)
 Live Demo

import pandas as pd
s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
print s
print ("After replacing @ with $:")
print s.str.replace('@','$')
Его вывод выглядит следующим образом —

0   Tom
1   William Rick
2   John
3   Alber@t
dtype: object

After replacing @ with $:
0   Tom
1   William Rick
2   John
3   Alber$t
dtype: object
повтор (значение)
 Live Demo

import pandas as pd

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print s.str.repeat(2)
Его вывод выглядит следующим образом —

0   Tom            Tom
1   William Rick   William Rick
2                  JohnJohn
3                  Alber@tAlber@t
dtype: object
кол-(шаблон)
 Live Demo

import pandas as pd
 
s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print ("The number of 'm's in each string:")
print s.str.count('m')
Его вывод выглядит следующим образом —

The number of 'm's in each string:
0    1
1    1
2    0
3    0
StartsWith (шаблон)
 Live Demo

import pandas as pd

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print ("Strings that start with 'T':")
print s.str. startswith ('T')
Его вывод выглядит следующим образом —

0  True
1  False
2  False
3  False
dtype: bool
EndsWith (шаблон)
 Live Demo

import pandas as pd
s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
print ("Strings that end with 't':")
print s.str.endswith('t')
Его вывод выглядит следующим образом —

Strings that end with 't':
0  False
1  False
2  False
3  True
dtype: bool
найти (шаблон)
 Live Demo

import pandas as pd

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print s.str.find('e')
Его вывод выглядит следующим образом —

0  -1
1  -1
2  -1
3   3
dtype: int64
«-1» означает, что в элементе нет такого шаблона.

FindAll (шаблон)
 Live Demo

import pandas as pd

s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])

print s.str.findall('e')
Его вывод выглядит следующим образом —

0 []
1 []
2 []
3 [e]
dtype: object
Пустой список ([]) указывает, что в элементе нет такого шаблона.

swapcase ()
 Live Demo

import pandas as pd

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])
print s.str.swapcase()
Его вывод выглядит следующим образом —

0  tOM
1  wILLIAM rICK
2  jOHN
3  aLBER@T
dtype: object
ISLOWER ()
 Live Demo

import pandas as pd

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])
print s.str.islower()
Его вывод выглядит следующим образом —

0  False
1  False
2  False
3  False
dtype: bool
ISUPPER ()
 Live Demo

import pandas as pd

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])

print s.str.isupper()
Его вывод выглядит следующим образом —

0  False
1  False
2  False
3  False
dtype: bool
IsNumeric ()
 Live Demo

import pandas as pd

s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])

print s.str.isnumeric()

Поділитись