使用loc:
Lx A Ratio
upper 0.6 0.36 0.00
value 0.6 0.36 0.00
lower 0.9 0.81 0.85
upper是上限,lower是下限,找出value符合这个区间的值。
df.loc[‘upper’] > df.loc[‘value’]
# -*- coding:utf-8 -*-
# @Time : 2022/10/15 21:40
# @Author : Lani
# @File : test3.py
import pandas as pd
import numpy as np
if __name__ == "__main__":
DataExample = [[0.6, 0.36, 0.00],
[0.6, 0.36, 0.00],
[0.9, 0.81, 0.85]
]
df = pd.DataFrame(data=DataExample, index=['upper','value','lower' ],columns=['Lx', 'A', 'Ratio'])
print(df)
print("-----")
# df['match'] = df.Lx.eq(df.Lx.shift())
# print(df)
diff = (df.loc['upper'] > df.loc['value']) & (df.loc['value'] > df.loc['lower'])
print(diff)
# df = df.loc[diff]
df.loc['result'] = diff # 赋值到新行
print(df)
比对结果放在新的行:
Lx False
A False
Ratio False
dtype: bool
结果 :
<class ‘pandas.core.series.Series’>
Lx A Ratio
upper 0.6 0.36 0.00
value 0.6 0.36 0.00
lower 0.9 0.81 0.85
result 0.0 0.00 0.00
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101568.html