Pandas транспонировать строки в столбец с группированным и объединенным заголовком в нескольких столбцах - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть кадр данных из SQLITE, как показано ниже Sample Data For Reporting

, который я хочу транспонировать, как показано ниже, чтобы я мог создать отчет HTML. Transposed with Group by

Здесь я получаю дополнительный индексный номер, например 0,1,2,3, для диска, который необходимо объединить в «FileSystem»,

import pandas as pd
import sqlite3
pd.set_option('display.expand_frame_repr', False)
con = sqlite3.connect("CONSO.db")
df = pd.read_sql_query("select W.hostname as hostname, W.disk as disk, W.disk_used_percent as disk_used_percent, w.mem_used_percent as mem_used_percent, w.cpu_usage_percent as cpu_usage_percent, L.last_reboot as last_reboot from WIN_HOST_STAT W inner join WIN_CONSO_UPTIME L on L.hostname=W.hostname group by W.HOSTNAME,W.DISK;", con)
con.close()
#Merging two col values in single col
df['disk']=df["disk"] + ' '+df["disk_used_percent"].astype(str)
#Transposing disk col and group by hostname
host_df=df.groupby(['hostname','mem_used_percent','cpu_usage_percent','last_reboot'])['disk'].apply(lambda res_df: res_df.reset_index(drop=True)).unstack()

Результат ниже -

                                                                                                                  0                  1                  2     3     4
hostname        mem_used_percent cpu_usage_percent last_reboot
DCSERVER-NORB01 18               0                 Restarted Sunday 05 April 2020 04:05 there is 3...  C:(System) 78  D:(New Volume) 74  E:(New Volume) 20  None  None
DCSERVER-NORB02 18               0                 Restarted Sunday 05 April 2020 04:05 there is 3...  C:(System) 89  D:(New Volume) 70  E:(New Volume) 18  None  None
DCSERVER-NORB03 49               5                 Restarted Sunday 05 April 2020 04:05 there is 3...  C:(System) 89  D:(New Volume) 79  E:(New Volume) 54  None  None
DCSERVER-NORB04 52               2                 Restarted Sunday 05 April 2020 04:05 there is 3...  C:(System) 87  D:(New Volume) 79  E:(New Volume) 65  None  None
DCSERVER-NORB05 48               0                 Restarted Sunday 05 April 2020 04:05 there is 3...  C:(System) 88  D:(New Volume) 85  E:(New Volume) 57  None  None

Здесь я также теряю несколько столбцов при обработке CSV / HTML.

...