Как распаковать словарь со списками в фреймворк? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть словарь, сгенерированный из al oop, который выглядит следующим образом:

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())), но он возвращает мне фрейм данных с именами в одном столбце, а затем список целых чисел для каждого в следующем столбце.

Вот l oop, сгенерированный словарь, если это поможет:

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())

Кто-нибудь может мне помочь? Извините за беспорядок! Дайте мне знать, если дополнительная информация будет полезна!

1 Ответ

0 голосов
/ 08 мая 2020

Я думаю, вам нужно выбрать первое значение списков и pd.concat:

df = (pd.concat({k: v[0] for k, v in values.items()})
        .rename_axis(('A','B'))
        .reset_index(name='C'))
...