Jestem nowy w Pythonie. Mam dane z wtyczki, która przechodzi przez arkusz Excel i muszę wyodrębnić wartości z tej kolumny.

  Plugin Output

 Country:USA   State: Virginia Address: 23 xys lane  SSN:2345550404  Zip : 22102 City: Fairfax

 Country:India State:Virginia  SSN:2345550401  ZIP:452002  City: Indore

Muszę przeszukiwać SSN w każdym rzędzie i utworzyć nową kolumnę w nowej ramie danych PANDAS, aby utworzyć oddzielną kolumnę.

Pożądane wyjście :

  SSN

 2345550404

 2345550401

Odpowiedz na numer seryjny:

def find_serialnumber(x):
  num = re.findall(r'Serial Number:\s*([^\n]+)', x)
  return " ".join(num)
0
Maggi 15 kwiecień 2021, 20:23

1 odpowiedź

Najlepsza odpowiedź
import re

    def find_number(x):
        num = re.findall(r'(?:SSN_)(\d+)', x)
        return " ".join(num)

    df['SSN'] =df['Output'].apply(lambda x: find_number(x))

Wyodrębnij również funkcję Pandas:

D + oznacza dopasowanie 1 lub więcej cyfr.

df['SSN'] = df['Output'].apply(lambda x: re.findall(r'(?:SSN_)(\d+)', x)[0] if re.findall(r'(?:SSN_)(\d+)', x) else x)
0
Piotr Żak 15 kwiecień 2021, 18:03