По сути, ищем более простой способ достижения ниже -
for idxs in idx_list:
if len(idxs)>1:
#print(idxs) # Print all lists in the list
#print df.loc[idxs[0]:idxs[1]] # Return dataframe with rows from first list
#print df[idxs[0]:idxs[1]][0] # Return an array for column (index 0) instead of dataframe
print df[idxs[0]:idxs[1]][0][1:] # skip first items from array
# lambda function to iterate each item split by whitespace (default) and return the first item (index 0 i.e. e.g. Filesystem)
#df.loc[idxs[0]:idxs[1],'Filesystem'] = df[idxs[0]:idxs[1]][0][2:].apply(lambda x: str.split(x)[0])
for idxs in idx_list:
if len(idxs)>1:
print(idxs)
df.loc[idxs[0]:idxs[1],'Filesystem'] = df[idxs[0]:idxs[1]][0][1:].apply(lambda x: str.split(x)[0])
df.loc[idxs[0]:idxs[1],'kbytes'] = df[idxs[0]:idxs[1]][0][1:].apply(lambda x: str.split(x)[1])
df.loc[idxs[0]:idxs[1],'used'] = df[idxs[0]:idxs[1]][0][1:].apply(lambda x: str.split(x)[2])
df.loc[idxs[0]:idxs[1],'avail'] = df[idxs[0]:idxs[1]][0][1:].apply(lambda x: str.split(x)[3])
df.loc[idxs[0]:idxs[1],'capacity'] = df[idxs[0]:idxs[1]][0][1:].apply(lambda x: str.split(x)[4])
df.loc[idxs[0]:idxs[1],'Mounted on'] = df[idxs[0]:idxs[1]][0][1:].apply(lambda x: str.split(x)[5])
df.loc[idxs[0]:idxs[1],'date'] = pd.to_datetime(df[idxs[0]-2:idxs[1]-1][0].str[6:26][0:1]).dt.strftime("%d/%m/%Y %H:%M:%S").values[0]
df.loc[idxs[0]:idxs[1],'ASUP_Type'] = df[idxs[0]-2:idxs[1]-1][0].str.extract('\((.*?)\)', expand=True)[0].values[0]
df.loc[idxs[0]:idxs[1],'hostname'] = df[idxs[0]-1:idxs[1]][0].str.split().values[0][2]
df.loc[idxs[0]:idxs[1],'serial_no'] = df[idxs[0]-1:idxs[1]][0].str.split().values[0][4]
else:
print(idxs)
df.loc[idxs[0]:,'Filesystem'] = df[idxs[0]:][0][1:].apply(lambda x: str.split(x)[0])
df.loc[idxs[0]:,'kbytes'] = df[idxs[0]:][0][1:].apply(lambda x: str.split(x)[1])
df.loc[idxs[0]:,'used'] = df[idxs[0]:][0][1:].apply(lambda x: str.split(x)[2])
df.loc[idxs[0]:,'avail'] = df[idxs[0]:][0][1:].apply(lambda x: str.split(x)[3])
df.loc[idxs[0]:,'capacity'] = df[idxs[0]:][0][1:].apply(lambda x: str.split(x)[4])
df.loc[idxs[0]:,'Mounted on'] = df[idxs[0]:][0][1:].apply(lambda x: str.split(x)[5])
df.loc[idxs[0]:,'date'] = pd.to_datetime(df[idxs[0]-2:-1][0].str[6:26][0:1]).dt.strftime("%d/%m/%Y %H:%M:%S").values[0]
df.loc[idxs[0]:,'ASUP_Type'] = df[idxs[0]-2:-1][0].str.extract('\((.*?)\)', expand=True)[0].values[0]
df.loc[idxs[0]:,'hostname'] = df[idxs[0]-1:][0].str.split().values[0][2]
df.loc[idxs[0]:,'serial_no'] = df[idxs[0]-1:][0].str.split().values[0][4]