我有一个执行以下操作的数据框:
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
答案 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