如何在CSV标头和字典键之间循环操作

时间:2018-09-29 17:40:43

标签: python pandas loops csv dictionary

我有一个包含键和值集的字典,还有一个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

0 个答案:

没有答案