I need help with this pandas split with regex. I’m getting the error ValueError: Columns must be same length as key
.
my column of data is like this
JavaScript
x
6
1
PURCHASE AUTHORIZED ON 03/30 UOFU BOOKSTORE 1 …
2
PURCHASE AUTHORIZED ON 03/29 WM SUPERC Wal-Mart Sup …
3
PURCHASE AUTHORIZED ON 03/29 KFC/AW #526 …
4
PURCHASE AUTHORIZED ON 03/31 UU VISITOR PARKING …
5
ATM WITHDRAWAL AUTHORIZED ON 04/03 Main Street …
6
my code is
JavaScript
1
2
1
df[['Auth_date', 'Description']] = df['Description'].str.split('(?<=d{2}d{2}).', regex=True)
2
desired results would be.
JavaScript
1
7
1
Auth_date Description
2
PURCHASE AUTHORIZED ON 03/30 UOFU BOOKSTORE 1 …
3
PURCHASE AUTHORIZED ON 03/29 WM SUPERC Wal-Mart Sup …
4
PURCHASE AUTHORIZED ON 03/29 KFC/AW #526 …
5
PURCHASE AUTHORIZED ON 03/31 UU VISITOR PARKING …
6
ATM WITHDRAWAL AUTHORIZED ON 04/03 Main Street …
7
Advertisement
Answer
Given:
JavaScript
1
7
1
Description
2
0 PURCHASE AUTHORIZED ON 03/30 UOFU BOOKSTORE 1 …
3
1 PURCHASE AUTHORIZED ON 03/29 WM SUPERC Wal-Mar
4
2 PURCHASE AUTHORIZED ON 03/29 KFC/AW #526 …
5
3 PURCHASE AUTHORIZED ON 03/31 UU VISITOR PARKING …
6
4 ATM WITHDRAWAL AUTHORIZED ON 04/03 Main Street …
7
Doing:
JavaScript
1
3
1
df[['Auth_date', 'Description']] = df['Description'].str.split('(?<=d{2}/d{2}).', expand=True, regex=True)
2
print(df)
3
Output:
JavaScript
1
7
1
Description Auth_date
2
0 UOFU BOOKSTORE 1 … PURCHASE AUTHORIZED ON 03/30
3
1 WM SUPERC Wal-Mart Sup … PURCHASE AUTHORIZED ON 03/29
4
2 KFC/AW #526 … PURCHASE AUTHORIZED ON 03/29
5
3 UU VISITOR PARKING … PURCHASE AUTHORIZED ON 03/31
6
4 Main Street … ATM WITHDRAWAL AUTHORIZED ON 04/03
7
Works fine for me.