首页 > 解决方案 > python pandas通过评估表达式添加新的计算列(其他列的组合)

问题描述

我是 pandas 的新手,我正在苦苦挣扎,需要在我的数据框中添加一个新列,这类似于基于算术运算之类的其他列的组合。

Dataframe columns:
col1 , col2 col3.. etc

Functions:
sum() 
count()
distinct()
min()
etc..

Operators: like + - * / etc..

now user can drag and drop anything from above 3(functions, columns 
and operators) which might make expression like..

sum(col1) + min(col2) * 10 + 2    or something like this...

所以我的问题是如何在熊猫数据框中计算它,它在数据框中形成(计算)一个新列。

请帮助我,我该如何实现这个功能,我可以允许用户选择列和操作的任何组合或在单个列上选择操作的组合,我称之为计算列

标签: pythonpandasdataframeexpressioncalculated-columns

解决方案


我不知道为什么我的问题被标记为 -1 但我终于找到了答案,我只需要修改通过拖放创建的表达式并使用 python 的eval()中的这个函数,它可以很好地与 pandas 数据帧一起使用

df.eval(col1.sum() + col2.min() * 10 + 2)

它适用于任何表达,希望它可以帮助任何类似的人。


推荐阅读