我有一个数据框 df ,如下所示
min |
max |
value |
3 |
9 |
7 |
3 |
4 |
10 |
4 |
4 |
4 |
4 |
10 |
3 |
我想创建一个新列 df['accuracy'] ,它告诉我 df['value'] 位于 df['min'] 和 df['max'] 之间的准确性,这样新的数据帧看起来像
min |
max |
value |
Accuracy |
3 |
9 |
7 |
Accurate |
3 |
4 |
10 |
Not Accurate |
4 |
4 |
4 |
Accurate |
4 |
10 |
3 |
Not Accurate |
Use apply()
的方法pandas
, 参考链接 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html
def accurate(row):
if row['value'] >= row['min'] and row['value'] <= row['max']:
return 'Accurate'
return 'Not Accurate'
df['Accuracy'] = df.apply(lambda row: accurate(row), axis=1)
print(df)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)