python - 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...
所以我的问题是如何在熊猫数据框中计算它,它在数据框中形成(计算)一个新列。
请帮助我,我该如何实现这个功能,我可以允许用户选择列和操作的任何组合或在单个列上选择操作的组合,我称之为计算列
解决方案
我不知道为什么我的问题被标记为 -1 但我终于找到了答案,我只需要修改通过拖放创建的表达式并使用 python 的eval()中的这个函数,它可以很好地与 pandas 数据帧一起使用
df.eval(col1.sum() + col2.min() * 10 + 2)
它适用于任何表达,希望它可以帮助任何类似的人。
推荐阅读
- haskell - Haskell wai 中间件 - 如果从第一个应用程序返回 404,如何运行应用程序?
- angular - 角度:通过动态地图键绑定到地图的 2 种方式
- c# - 为 Service Fabric 应用程序类编写单元测试
- python-3.x - python3.x中的日期时间模块
- laravel - 如何在 Laravel 中实现授权(Guard),而不使用 make:auth 命令
- php - 为什么没有创建项目?
- rest - 通过 https 使用 kubeconfig 提供 Kubernetes 集群身份验证
- html - 如何防止标签重定向用户,同时保持其 href 属性?
- java - javax.persistence.PersistenceException:没有名为 ZaapMartPU 的 EntityManager 的持久性提供程序
- angular - 哪个 Guard 解雇了 GuardsCheckEnd?