DataFrame 中的数学求值字符串 Python

Math Eval String in DataFrame Python

>>> 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

有关安全问题的说明,请参阅: