我從決策樹(shù)中提取了 1000 條規(guī)則并保存在數(shù)據(jù)框中。以下是示例規(guī)則(age > 25) & (Tenure < 48)現(xiàn)在我想檢查 pandas 數(shù)據(jù)框 (Data_rules) 中有多少觀察值遵循每個(gè)規(guī)則。基本上我想在應(yīng)用上述規(guī)則后檢查數(shù)據(jù)幀的長(zhǎng)度。下面是我寫(xiě)的代碼for i in Data_rules.index:
temp = len(train[Data_rules['Rules'][i]])
output.append(temp)這段代碼向我拋出一個(gè)“關(guān)鍵錯(cuò)誤”,因?yàn)?Data_rules['Rules'][i] 將以字符串形式給出每個(gè)規(guī)則,并以單引號(hào)開(kāi)頭,例如 '(age > 25) & (Tenure < 48)' 但我們需要通過(guò)不帶引號(hào)的規(guī)則來(lái)訓(xùn)練數(shù)據(jù)集。誰(shuí)能幫我解決這個(gè)問(wèn)題。
1 回答
開(kāi)滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
這正是DataFrame.query用途,這里有一個(gè)例子:
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
添加回答
舉報(bào)
0/150
提交
取消
