Привет! У меня есть датафрейм в следующем формате:
df = pd.DataFrame(np.array([[1, 2, 'Apples 20pk ABC123', 4, 5], [6, 7,
'Oranges 40pk XYZ123', 9, 0], [5, 6, 'Bananas 20pk ABC123', 8, 9]]), columns=
['Serial #', 'Branch ID', 'Info', 'Value1', 'Value2'])
Serial# Branch ID Info Value1 Value2
0 1 2 Apples 20pk ABC123 4 5
1 6 7 Bananas 20pk ABC123 9 0
2 5 6 Oranges 40pk XYZ123 8 9
Я хочу разделить значения столбца «Информация» на основе символа «pk». По сути, я хочу создать два новых столбца, как в приведенном ниже кадре данных:
Serial# Branch ID Package Branch Value1 Value2
0 1 2 Apples 20pk ABC123 4 5
1 6 7 Bananas 20pk ABC123 9 0
2 5 6 Oranges 40pk XYZ123 8 9
Я пытался использовать:
info = df["Info"].str.split("pk ", n=1, expand=True)
df['Package'] = branch[0]
df['Branch'] = branch[1]
del df['Info']
но в результате в столбце df 'Package' я получаю только "Яблоки 20" вместо "Яблоки 20pk".
Я хотел разделить, используя символ «» (пробел), но затем я получил три значения («Яблоки», «20pk», «ABC123»).
Поскольку имеется n рядов (а не только 3), мне было интересно, как наиболее эффективно это сделать? Спасибо!