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