2016-12-12 2 views
2

그래서 나는 dtype을위한 객체 인 컬럼을 가지고있다. 데이터는 다음과 같습니다 :숫자 방정식 (dtype은 객체 임)을 숫자 파이썬으로 바꾼다

NaN 
1*5+4 
1*5+3.25 
2*5+3.25 
4.25 
0 
2*5+2.5 

원하는 출력은 다음과 같습니다 내가 평가()와 pd.eval()를 사용하여 시도했지만 실패했다있다

*blank or 0 for NaN* 
9 
8.25 
13.25 
4.25 
0 
12.5 

. "TypeError : eval() arg 1은 문자열, 바이트 또는 코드 객체 여야합니다."및 "AttributeError : 'PandasExprVisitor'객체에는 'visit_Ellipsis'속성이 없습니다. 이것을 수행 할 수있는 함수는 무엇입니까? 또는 계산하기 전에 열에 대한 작업을 수행해야합니까?

+0

'eval()'에 전달하기 전에 먼저 str으로 변환 하시겠습니까? 실제 코드 없이는 말하기 어렵습니다. 일부 [MVCE] (http://stackoverflow.com/help/mcve)에서 편집 할 수 있습니다. – justhalf

+0

먼저 문자열로 변환하려고했지만 작동하지 않았습니다. fillna (0) 내 문제를 해결하지만. – Brian

답변

3

시도해 볼 수 있습니다. 누락 된 값을 0으로 변환하려면 .fillna(0)으로 전화하십시오.

df[0].apply(pd.eval) 

#0  NaN 
#1  9.00 
#2  8.25 
#3 13.25 
#4  4.25 
#5  0.00 
#6 12.50 
#Name: 0, dtype: float64 
+0

굉장한, 나를 위해 일했다! – Brian