我有一个数据集(由捐赠者选择),并且我试图根据类标签将值从字典复制到列表中。
例如:我的数据集有一个列[project_is_approved]
,基本上是二进制值 0或1 。
每行还具有一个名为[school_state]
的列,该列基本上是状态名称为(eg: 'WV', 'NY' etc)
的分类特征。
如果状态属于正 class(1)或负 class(0),我还有两个字典,每个状态的概率值。
{accepted_prob_clean_categories} 是一本字典,仅当键属于正类时,才将键作为状态列表,将值作为概率。
{rejected_prob_clean_categories} 是一本字典,只有当它属于否定类时,才将键作为状态列表,将值作为概率。
我想做的是
我想遍历整个数据集,如果 给定行中的“ project_is_approved”值为1
我想检查该特定行中的状态并附加 来自该状态的概率值 {accepted_prob_clean_categories} 到列表
对于否定类同样适用,除了概率 值取自 {rejected_prob_clean_categories}
final_prob_clean_categories = []
mask = i['project_is_approved']
category = i.loc[mask,'school_state'].values
for i in X_train:
if mask == 1:
final_prob_clean_categories.append(accepted_prob_clean_categories[category])
else:
final_prob_clean_categories.append(rejected_prob_clean_categories[category])
我收到如下错误:
“字符串索引必须为整数'
accepted_prob_clean_categories = {}
{'AK': 0.8333333333333334,
'AL': 0.860445205479452,
'AR': 0.8321167883211679,
'AZ': 0.848780487804878,
'CA': 0.8565887714535053,
'CO': 0.8295302013422818,
'CT': 0.8615107913669064,
'DC': 0.7959183673469388,
'DE': 0.9004329004329005,
'FL': 0.831678372487285,
'GA': 0.8417372101582627,
'HI': 0.8606060606060606,
'IA': 0.8493449781659389,
'ID': 0.8299776286353467,
'IL': 0.8522609596133932,
'IN': 0.8541666666666666,
'KS': 0.8382352941176471,
'KY': 0.863013698630137,
'LA': 0.8295384615384616,
'MA': 0.8605678233438486,
'MD': 0.8507905138339921,
'ME': 0.8509316770186336,
'MI': 0.8546132339235788,
'MN': 0.8688118811881188,
'MO': 0.8524203069657615,
'MS': 0.8265895953757225,
'MT': 0.8143712574850299,
'NC': 0.8504589872668049,
'ND': 0.9058823529411765,
'NE': 0.8732394366197183,
'NH': 0.865546218487395,
'NJ': 0.8397606382978723,
'NM': 0.8425414364640884,
'NV': 0.8617256637168141,
'NY': 0.8568246253543945,
'OH': 0.8747002398081535,
'OK': 0.8368841544607191,
'OR': 0.8427230046948356,
'PA': 0.8610445615716339,
'RI': 0.8585365853658536,
'SC': 0.8648134044173648,
'SD': 0.8258706467661692,
'TN': 0.8482456140350877,
'TX': 0.8108108108108109,
'UT': 0.8441330998248686,
'VA': 0.8474452554744526,
'VT': 0.7659574468085106,
'WA': 0.8780332056194126,
'WI': 0.8444084278768234,
'WV': 0.8481375358166189,
'WY': 0.8405797101449275}
rejected_prob_clean_categories是accepted_prob_clean_categories的补充。
if my X_train is like this:
school_state project_is_approved
AK 1
AK 0
CA 0
CO 1
I need values in final_prob_clean_categories as follows:
[0.8333,0.166666,0.14341,0.82953.....]etc
所有这些概率值在{accepted_prob_clean_categories}和{rejected_prob_clean_categories}中可用