>>> 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
最佳答案
虽然存在安全问题,但您可以使用 eval
使用 lambda
表达式来计算每个元素。
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
有关安全问题的说明,请参阅:
关于python - DataFrame Python 中的数学求值字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083872/