我正在尝试写入数据框的一组指标分类。 到目前为止,我已经能够将精度,召回率和f1分数写入数据帧。但是,我想添加另一个名为models的列,它具有精度,召回和f1-score的相应模型。
data = ((metrics.classification.precision_recall_fscore_support(clf3_expected, clf3_predicted)),
metrics.classification_report(clf2_expected, clf2_predicted),
metrics.classification_report(clf1_expected, clf1_predicted))
data = np.array(data)
array([(array([0.86564351,0.86185948]),array([0.86008561, 0.86735779]),数组([0.86285561,0.86459989]),数组([3738,3762],dtype = int64)), '精确召回f1-score支持\ n \ n 0 0.85 0.85 0.85 3738 \ n 1 0.85
0.85 0.85 3762 \ n \ navg /总计0.85 0.85 0.85 7500 \ n', '精确召回f1-得分支持\ n \ n 0 0.71 0.72 0.71 3738 \ n 1 0.71
0.71 0.71 3762 \ n \ navg / total 0.71 0.71 0.71 7500 \ n'],dtype = object)
model_lists = ['decision', 'bayes', 'log']
for row in concatenated.iterrows():
concatenated.model = i
concatenated
这是我创建df的地方:
columns = ['pos', 'neg',]
df = pd.DataFrame(data, columns = columns)
df = pd.DataFrame(data, columns = columns )
df['model'] = 0
df
pieces = [df[:3], df[:3], df[:3]]
concatenated = pd.concat(pieces, keys=['precision', 'recall', 'suport', "model"])
concatenated
然后,我想将相应的模型名称插入到正确的行中,但是,我只能让它写入列表中的最后一项,即登录到最后一列。
model_lists = ['decision', 'bayes', 'log']
for row in concatenated.iterrows():
concatenated.model = i
concatenated
而不是' log'在整个专栏中,它应该是“决定”。 ,'贝叶斯'和' log'然后重复直到数据帧结束。