如何检查Pandas DataFrame两列间是否存在指定数字并替换值、删除行
解决方案
先准备好数据:
import pandas as pd number_to_check = 17 df = pd.DataFrame({ 'min': [1, 6, 13, 29], 'max': [3, 9, 19, 46] })
按以下步骤处理即可实现需求:
- 定位包含目标数字的行,获取其索引:
target_idx = df[(df['min'] <= number_to_check) & (df['max'] >= number_to_check)].index[0]
- 将该行的
max值替换为目标数字:
df.loc[target_idx, 'max'] = number_to_check
- 截断DataFrame,只保留目标行及之前的所有行:
df = df.iloc[:target_idx+1]
最终得到的结果如下:
min max 0 1 3 1 6 9 2 13 17
内容的提问来源于stack exchange,提问作者CKR
相关产品推荐
相关产品推荐

