Формула хранится в виде текста в столбце Pandas DataFrame, мне нужно ее оценить - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть формула, хранящаяся в виде текста в DataFrame, я попытался l oop через строку, используя iteritems, она работала с небольшим набором данных, но потребовалась целая вечность, чтобы работать с 1 миллионами записей. Я пробовал следующее, но он продолжает выдавать синтаксическую ошибку.

Кто-нибудь может предложить решение или лучший способ?

import pandas as pd 
import numpy as np
a = np.array([['1+1',''],['2+2',''],['x+3','3'],['x+5','7']])
df = pd.DataFrame(a,columns=['F','W'])
df['F'] = df.apply(lambda x: x['F'].replace('x',x['W']),axis=1)
df['New']=df.eval(str(df['F']))
print (df)

Редактировать: и ниже трассировка ошибки:

 File "C:\Users\lalkailani\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\computation\expr.py", line 367, in visit
    node = ast.fix_missing_locations(ast.parse(clean))

  File "C:\Users\lalkailani\AppData\Local\Continuum\anaconda3\lib\ast.py", line 35, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)

  File "<unknown>", line 1
    0 1 +1
      ^
SyntaxError: invalid syntax
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...