如何使用熊猫数据框的条件

时间:2018-12-20 14:33:00

标签: python pandas dataframe apply

我有一个执行以下操作的数据框:

  df: 

      ColA      ColB       ColC 
      1         7.9E-08    1.3E-16
      0.92      2.2E-02    4.5E-18
      0.98      2.2E-06    5.6E-18

我要检查colA的值是否> 0.95,如果是,我要在其他列中打印true,否则请打印'False'

输出应如下所示:

  ColA      ColB       ColC     Confidence %
  1         7.9E-08    1.3E-16   True
  0.92   2.2E-02    4.5E-18      False
  0.98   2.2E-02    4.5E-18      Type

代码:

for index, row in result_withoutTC.iterrows():
    if row['Confidence %'] > 0.95:
        reject_list.append(True)

    else:
        accept_list_withoutTC.append(False)

result_withoutTC['Confidence %'] = reject_list_without_TC

2 个答案:

答案 0 :(得分:3)

对于这种简单的测试,您可以直接使用以下方法创建此列:

result_withoutTC['confidence'] = result_withoutTC['ColA']>0.95

答案 1 :(得分:1)

有很多方法可以执行此操作,例如使用numpy函数np.where

df['Confidence %'] = np.where(df.ColA > 0.95,True,False)

或使用熊猫功能遮罩

df['Confidence %'] = True
df['Confidence %'] = df['Confidence %'].mask(df.ColA < 0.95,False)

两者的结果均为:

   ColA          ColB          ColC  Confidence %
0  1.00  7.900000e-08  1.300000e-16          True
1  0.92  2.200000e-02  4.500000e-18         False
2  0.98  2.200000e-06  5.600000e-18          True