Я пытаюсь использовать re.split (), чтобы разделить одну переменную в фрейме данных pandas на две другие переменные.
Мои данные выглядят так:
xg
0.05+0.43
0.93+0.05
0.00
0.11+0.11
0.00
3.94-2.06
Я хочу создать
e a
0.05 0.43
0.93 0.05
0.00
0.11 0.11
0.00
3.94 2.06
Я могу сделать это с помощью цикла for и индексации.
for i in range(len(df)):
if df['xg'].str.len()[i] < 5:
df['e'][i] = df['xg'][i]
else:
df['e'][i], df['a'][i] = re.split("[\+ \-]", df['xg'][i])
Однако это медленно, и я не верю, что это хороший способ сделать это, и я пытаюсь улучшить свое понимание кода / python.
Я делал различные попытки, пытаясь написать его, используя np.where, или используя понимание списка или применяя лямбду, но я не могу запустить его слишком.Я думаю, что все проблемы у меня связаны с тем, что я пытаюсь применить функции ко всей серии, а не к позиционному значению.
Если у кого-то есть идея лучшего метода, чем мой уродливый цикл for, я был бы оченьинтересно.