我想基于对现有特征值的一些操作来创建一个附加特征(列)
数据挖掘
特征工程
特征构造
2022-03-12 00:35:42
1个回答
欢迎来到社区!
下面的代码是一个初学者。您可以通过命名列并将其添加到原始 DataFrame 继续:
import pandas as pd
data = pd.DataFrame({'x':[1,2,3], 'y':[10,20,30],'z':[100,200,300]})
print(data)
def my_fun(data,expression,variables):
for v in variables:
expression = expression.replace(v,'data.'+str(v))
return eval(expression)
my_fun(data,'2*x+y',['x','y'])
输出
x y z
0 1 10 100
1 2 20 200
2 3 30 300
0 12
1 24
2 36
dtype: int64
一般有两种方式:
- 像我一样使用eval函数以字符串形式评估/执行表达式。
- 使用符号库,最常用的是SymPy,将符号直接用作变量。
希望能帮助到你。祝你好运!
其它你可能感兴趣的问题

