2016-05-07 13 views
1
>>> df['X'].head() 
0 25+4 
1 25+5 
2 15+3 
3 20+2 
4 20+3 
Name: X, dtype: object 

は、私はこれを評価するにはどうすればよいので、私のデータフレームはこれです:数学の評価文字列

>>> df['X'].head() 
0 29 
1 30 
2 18 
3 22 
4 23 

Name: X, dtype: int64 
+1

警告:任意のPythonコードの 'eval'は潜在的に危険です(http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html)。特にコードが外部ソースから来ていて100%できない場合は、信頼。 [Little Bobby Tables](https://xkcd.com/327/)を覚えておいてください。 –

答えて

1

セキュリティ上の懸念がありますが、あなたはlambda式を使用して各要素を評価するevalを使用することができます。セキュリティ上の問題の説明について

df = pd.DataFrame({'X': ['25+4', '25+5', '15+3', '20+2', '20+3']}) 

>>> df 
     X 
0 25+4 
1 25+5 
2 15+3 
3 20+2 
4 20+3 

>>> df.X.apply(lambda x: eval(x)) 
0 29 
1 30 
2 18 
3 22 
4 23 
Name: X, dtype: int64 

は、以下を参照してください。

関連する問題