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
有关安全问题的说明,请参阅:
Security of Python's eval() on untrusted strings?
https://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html
Using python's eval() vs. ast.literal_eval()?
>>> 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
有关安全问题的说明,请参阅:
Security of Python's eval() on untrusted strings?
https://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html
Using python's eval() vs. ast.literal_eval()?