Ich versuche, die Ergebnisse, die ich von regex bekommen zu nehmen, das heißteinfügen Werte von For-Schleife in Pandas Spalte
['11J']
['4C']
['5,']
[]
['04 ', '05 ', '48T']
und speichern diese Werte in einer neuen Spalte (d Apt) eines bestehenden Pandas Datenrahmen.
Beispieldaten (Excel-Datei)
index id apt address job description
0 122092476 207 EAST 74 STREET blah blah 11J blah
1 122096043 2092 8TH AVENUE blah 4C blah blah
-Code
import pandas as pd
import re
df = pd.read_excel('/Users/abc/Desktop/Apartment.xlsx', sheetname=0)
df['Apt'] = 'None'
top5 = df.head()
t5jobs = top5['Job Description']
d = []
for index, job in enumerate(t5jobs):
result = re.findall(r'\d\d\D', job) or re.findall(r'\d\D', job) or re.findall(r'PH\D', job)
#print(str(result))
d.append(str(result))
df2 = pd.DataFrame([[d]], columns=list('Apt'))
df.append(df2)
Ich erhalte diese Fehlermeldung:
AssertionError: 3 columns passed, passed data had 1 columns
Wie kann ich diese Werte in der Apt-Spalte eingefügt erhalten (überschreiben Keine)?
gewünschte Ausgabe:
index id apt address job description apt
0 122092476 207 EAST 74 STREET blah blah 11J blah 11J
1 122096043 2092 8TH AVENUE blah 4C blah blah 4C
ich nicht verstehe deine Frage. Können Sie Ihre Frage so bearbeiten, dass sie ein [MCVE] (http://stackoverflow.com/help/mcve) enthält? – Kartik
ersetzen: 'Spalten = Liste ('Apt')' -> 'Spalten = ['Apt']' – MaxU
'Spalten = Liste ('Apt')' Dies bedeutet drei Spalten: '['A', 'p' , 't'] ' – ayhan