如何增加一列“正确率”?有条件,正确率小于60%就等于0

如何增加一列“正确率”,有条件,如果正确量/总体量>=60%,正确率就是这个公式。如果正确量/总体量<60%,正确率就都等于0.怎么编程?Python

img


import pandas as pd

data = [
    ['a', 90, 120], 
    ['b', 57, 100], 
    ['c', 60, 100], 
    ['d', 70, 120]
]
df=pd.DataFrame(data, columns=['学生', '正确量', '总体量'])
df['正确率'] = df.apply(lambda x: x['正确量']/x['总体量'] if x['正确量']/x['总体量'] < 0.6 else 0, axis=1)
>>> import pandas as pd
>>> df=pd.DataFrame([['a', 90, 120], ['b', 57, 100], ['c', 60, 100], ['d', 70, 120]], columns=['学生', '正确量', '总题量'])
# 新增一列正确率=正确量/总题量
>>> df['正确率']=df['正确量']/df['总题量']
>>> df
  学生  正确量  总题量       正确率
0  a   90  120  0.750000
1  b   57  100  0.570000
2  c   60  100  0.600000
3  d   70  120  0.583333
# 对正确率<0.6的重新赋值为0
>>> df.loc[df['正确率']<0.6,'正确率'] = 0
>>> df
  学生  正确量  总题量   正确率
0  a   90  120  0.75
1  b   57  100  0.00
2  c   60  100  0.60
3  d   70  120  0.00