我有一个从循环生成的字典,看起来像这样:
dict_items([('cm_Classification0.1', [FP 16
TP 13
TN 1
Name: cm_Classification0.1, dtype: int64]), ('cm_Classification0.2', [TP 13
FP 12
TN 5
Name: cm_Classification0.2, dtype: int64]), ('cm_Classification0.3', [TP 12
FP 10
TN 7
FN 1
Name: cm_Classification0.3, dtype: int64]), ('cm_Classification0.4', [TP 11
TN 9
FP 8
FN 2
Name: cm_Classification0.4, dtype: int64]), ('cm_Classification0.5', [TN 11
TP 9
FP 6
FN 4
Name: cm_Classification0.5, dtype: int64]), ('cm_Classification0.6', [TN 13
TP 8
FN 5
FP 4
Name: cm_Classification0.6, dtype: int64]), ('cm_Classification0.7', [TN 15
FN 7
TP 6
FP 2
Name: cm_Classification0.7, dtype: int64]), ('cm_Classification0.8', [TN 16
FN 9
TP 4
FP 1
Name: cm_Classification0.8, dtype: int64]), ('cm_Classification0.9', [TN 17
FN 12
TP 1
Name: cm_Classification0.9, dtype: int64])])
我需要一个方法来弄清楚如何将其放入数据列,其中包含以下几列:cm_Classification#
,FN
,FP
,TP
,TN
。我已经尝试过此pd.DataFrame(list(values.items()))
,但它会给我返回一个数据框,其中一列的名称,然后在下一列中返回每个整数的列表。
如果有帮助,这里是生成字典的循环:
classification_columns = question_two_partc.columns[3:12]
values = {column: list() for column in classification_columns}
for column in question_two_partc[classification_columns]:
values[column].append(question_two_partc[column].value_counts())
有人可以帮我吗?对不起,一团糟!让我知道是否有其他有用的信息!
我认为您需要选择列表的第一个值和pd.concat
:
df = (pd.concat({k: v[0] for k, v in values.items()})
.rename_axis(('A','B'))
.reset_index(name='C'))