У меня такого рода dataframe
df.Product_ID
0 FDP37
1 FDI04
2 FDV02
3 FDT55
4 FDG21
...
4135 FDD08
4136 DRA59
4137 FDK46
4138 FDD09
4139 FDO22
Как мне разделить первые 2 элемента на 2 столбца
Скажем, я хочу, чтобы результат был таким
0 FD P37
1 FD I04
2 FD V02
3 FD T55
4 FD G21
Я пытался прочитать и понять txt.split () https://www.w3schools.com/python/ref_string_split.asp но он показывает какой-то разделитель, например "" или "," сравнивается с тем, что у меня выше, без разделителя
3 ответа
Нарезка может быть быстрее, но вот альтернатива регулярному выражению:
print (df["Product_ID"].str.extract("(?P<Product_ID_FD>.{2})(?P<Product_ID_LD>.*)"))
Product_ID_FD Product_ID_LD
0 FD P37
1 FD I04
2 FD V02
3 FD T55
4 FD G21
4135 FD D08
4136 DR A59
4137 FD K46
4138 FD D09
4139 FD O22
Вы можете обратиться к .str текстового столбца pandas. df.assign аналогичен назначению двух раз для двух столбцов. Это синтаксический сахар
import pandas as pd
df = pd.DataFrame({'Product_ID': {0: 'FDP37', 1: 'FDP37', 2: 'FDP37', 3: 'FDP37', 4: 'FDP37'}})
df = df.assign(first_two=df.Product_ID.str[:2], from_two=df.Product_ID.str[2:])
# Also pass as dictionary with unwrapping for more general
# kwargs = {'first_two': df.Product_ID.str[:2], 'from_two': df.Product_ID.str[2:]}
# df.assign(**kwargs)
print(df)
Попробуй это:
import pandas as pd
df = pd.DataFrame({'Product_ID': {0: 'FDP37', 1: 'FDP37', 2: 'FDP37', 3: 'FDP37', 4: 'FDP37'}})
df['Product_ID_FD'] = [p[:2] for p in df['Product_ID']]
df['Product_ID_LD'] = [p[2:] for p in df['Product_ID']]
# OR
df['Product_ID_FD'] , df['Product_ID_LD'] = [p[:2] for p in df['Product_ID']] , [p[2:] for p in df['Product_ID']]
df
Выход:
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.