У меня есть словарь с набором ключей и значений, а также CSV-файл со столбцами с таким же именем заголовка словаря ключей.
Мне нужно применить общую функцию, если значение строкизаголовка с именем ключа меньше значения, определенного в словаре для записи true в новый столбец в наборе данных.
проблема в том, что мне нужно сделать цикл для всех столбцов, чтобысопоставьте имя заголовка с именем ключа и примените функцию в соответствии со значением ключа во всех строках столбца.
Ниже кода, если я сделал это без цикла, но если словарь увеличился, это будет неэффективноway.
Код:
dict = {'RRC_SR%' : 99, 'RAB_SR%' : 97, 'UL_UE_Throughput' : 2, 'PS_CDR%' : 0.15, 'DL_UE_Throughput' : 17,
'INTRA HO SR %' : 99}
kpi = pd.read_csv('KPIs for Triggering.csv')
kpi['RRC_SR Result'] = kpi.loc[:, 'RRC_SR%'].apply(lambda x:x>dict['RRC_SR%'])
kpi['RAB_SR Result'] = kpi.loc[:, 'RAB_SR%'].apply(lambda x:x>dict['RAB_SR%'])
kpi['UL_UE_Throughput Result'] = kpi.loc[:, 'UL_UE_Throughput'].apply(lambda x:x>dict['UL_UE_Throughput'])
kpi['PS_CDR Result'] = kpi.loc[:, 'PS_CDR%'].apply(lambda x:x>dict['PS_CDR%'])
kpi['DL_UE_Throughput Result'] = kpi.loc[:, 'DL_UE_Throughput'].apply(lambda x:x>dict['DL_UE_Throughput'])
kpi['INTRA HO SR Result'] = kpi.loc[:, 'INTRA HO SR %'].apply(lambda x:x>dict['INTRA HO SR %'])
Time Object DL_UE_Throughput UL_UE_Throughput PS_CDR% RAB_SR% RRC_SR% INTRA HO SR %
0:00 A_1 4.76 1.04 0.17 99.88 99.98 98.22
0:00 B_2 8.1 1.04 0.15 99.92 99.99 97.8
0:00 C_3 5.63 0.72 0.11 99.94 99.98 96.17
0:00 D_4 8.65 1.06 0.25 99.75 99.95 99.51
0:00 E_5 10.21 0.59 0.37 99.67 99.97 99.18
0:00 F_6 7.46 0.34 0.38 99.3 99.95 99.56
0:00 G_7 10.08 2.31 0.6 99.38 99.73 93.63
0:00 H_8 10.29 1.29 0.84 99.5 99.84 99.22
0:00 I_9 10.19 4.76 0.92 99.26 99.75 97.66
0:00 J_10 7.45 8.6 0.85 99.29 99.72 98.55