У меня есть кадр данных из SQLITE, как показано ниже
, который я хочу транспонировать, как показано ниже, чтобы я мог создать отчет HTML.
Здесь я получаю дополнительный индексный номер, например 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.