Слияние и подсчет атрибутов uisng Pandas - PullRequest
0 голосов
/ 26 августа 2018

Я сгруппировал 2 столбца файла CSV (r3 = df.groupby(['Predicted_Label', 'Actual_Label']).size().unstack(fill_value=0) print (r3)), чтобы получить следующий результат:
Groupby count of dataframe

Столбцы 5 и 6 фактических меток должны быть объединены в строку 1 прогнозируемых меток.Вывод должен быть в следующем виде: enter image description here Как создать вышеупомянутые новые столбцы с помощью Pandas?

1 Ответ

0 голосов
/ 26 августа 2018

Используйте assign для новых столбцов, созданных с помощью numpy.diagonal и вычтенных sum с для строк и столбцов, используется reindexдля тех же индексов столбцов, как значения индекса:

#strip traling whitespaces
df['Predicted_Label'] = df['Predicted_Label'].str.strip()

r3 = df.groupby(['Predicted_Label', 'Actual_Label']).size().unstack(fill_value=0)

a = np.diagonal(r3.reindex(columns=r3.index))
b = r3.sum(axis=1) - a
c = r3.sum().reindex(r3.index) - a

out = r3.assign(T1=a,T2=b,T3=c)
print (out)
    0   1   2     3   5   6    T1   T2   T3
0  14   0   3    22   0   0    14   25   14
1   5  56  14   157  19  11    56  206    8
2   2   0  37    26   0   0    37   28   17
3   7   8   0  1805   0   1  1805   16  205
...