【发布时间】:2019-10-19 01:43:21
【问题描述】:
我在 DataFrame 中有一个列,其中包含一个字符串,我必须通过不同的分隔符从中检索两条信息:
ID STR
280 11040402-38.58551%;11050101-9.29086%;11070101-52.12363%
351 11130203-35%;11130230-65%
510 11070103-69%
655 11090103-41.63463%;11160102-58.36537%
666 11130205-50.00%;11130207-50%
我一直在尝试使用本系列中的.apply 方法与 lambda 函数一起进行拆分,但无济于事:
df['STR'].apply(lambda x: y.split('-') for y in x.split(';'))
理想情况下,我不仅可以一次性拆分字符串,还可以将- 的左侧与右侧分开:
ID STR.LEFT STR.RIGHT
280 [11040402, 11050101, 11070101] [38.58551%, 9.29086%, 52.12363%]
351 [11130203, 11130230] [35%, 65%]
510 [11070103] [69%]
655 [11090103, 11160102] [41.63463%, 58.36537%]
666 [11130205, 11130207] [50.00%, 50%]
我相信这可以通过.apply 和切片来实现,但欢迎使用任何其他解决方案。
【问题讨论】:
标签: python pandas list dataframe lambda