简体   繁体   English

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

How do I evaluate this so my dataframe is this:我如何评估这个所以我的数据框是这样的:

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

Name: X, dtype: int64

Although there are security concerns, you can use eval to evaluate each element using a lambda expression.尽管存在安全问题,但您可以使用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

For a description of security concerns, see:有关安全问题的说明,请参阅:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM