【发布时间】:2019-07-09 22:43:20
【问题描述】:
您好,我有一个遵循这种格式的数据框:
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”字符拆分“Info”列的值。本质上,我想创建两个新列,如下面的数据框中:
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”列中,我只得到“Apples 20”而不是“Apples 20pk”。
我想使用 " " 字符(空格)进行拆分,但是我得到了三个值('Apples'、'20pk'、'ABC123')。
因为有 n 行(不仅仅是 3 行),我想知道最有效的方法是什么?谢谢!
【问题讨论】:
标签: python pandas split delimiter