我从决策树中提取了 1000 条规则并保存在数据框中。以下是示例规则(age > 25) & (Tenure < 48)现在我想检查 pandas 数据框 (Data_rules) 中有多少观察值遵循每个规则。基本上我想在应用上述规则后检查数据帧的长度。下面是我写的代码for i in Data_rules.index:
temp = len(train[Data_rules['Rules'][i]])
output.append(temp)这段代码向我抛出一个“关键错误”,因为 Data_rules['Rules'][i] 将以字符串形式给出每个规则,并以单引号开头,例如 '(age > 25) & (Tenure < 48)' 但我们需要通过不带引号的规则来训练数据集。谁能帮我解决这个问题。
1 回答
开满天机
TA贡献1786条经验 获得超13个赞
这正是DataFrame.query
用途,这里有一个例子:
import pandas as pd
df = pd.DataFrame({"age": [10, 15, 20, 25, 30, 35], "Tenure": [1, 1, 1, 1, 50, 47]})
result = df.query("(age > 25) & (Tenure < 48)")
print(result)
输出:
age Tenure
5 35 47
添加回答
举报
0/150
提交
取消