我有一个包含键和值集的字典,还有一个CSV文件,其中的列具有与字典键相同的标题名称。
我需要应用通用函数,即具有关键字名称的标头行的值小于字典中定义的值,以便在数据集中的新列中写入true。
问题是我需要对所有列进行循环以使标题名称与键名称匹配,并根据键的值在所有列行上应用该函数。
下面的代码(如果我使用out loop做到这一点),但是如果字典增加了,这将不是有效的方法。
代码:
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