如果在数据帧上满足特定条件,则打印消息

Print message if a certain condition meet on a dataframe

我有一个包含 4 列的数据集,1 想在线对 4 列应用条件,例如 IF df.ColumnA > 120 and df,columnB <130 and df.column 4 >80 并在条件满足时打印消息。 但是当我这样做时它不起作用。

请告诉我如何从文件中读取列并对其应用条件。

df = pd.read_csv(r"C:\Users\DELL\OneDrive\Desktop\Book1.csv",
                 names=[ 'SBP', 'DBP', 'HEARTRATE' ])
Time_sensitive_df = (df [ (df [ 'SBP' ] > 110) & (df [ 'DBP' ] > 80) & (df [ 'HEARTRATE' ] < 100) ])
print('\n Time Sensitive Data :\n', Time_sensitive_df)

我想在 if else 条件下执行此操作。

请根据您的评论查看下面修改后的代码,如果这是您需要的,请告诉我。

import pandas as pd, numpy as np
# sample df
d = {'SBP': [111, 100], 'DBP': [81, 40], 'HEARTRATE':[99,50]}
df = pd.DataFrame(data=d)
df

# get index position based off column name
SBP = df.columns.get_loc('SBP')
DBP = df.columns.get_loc('DBP')
HEARTRATE = df.columns.get_loc('HEARTRATE')

for x in range(len(df)):
    if (df.iloc[x,SBP] > 100) & (df.iloc[x,DBP] > 80) & (df.iloc[x,HEARTRATE] < 100):
        print('Alert')
    else:
        print('Normal')
import pandas as pd, numpy as np

# filter results by showing records that meet condition

# sample df
d = {'SBP': [111, 100], 'DBP': [81, 40], 'HEARTRATE':[1,50]}
df = pd.DataFrame(data=d)
df

# if an alert is found, prints alert, else normal
if len(df[(df[ 'SBP' ] > 110) & (df[ 'DBP' ] > 80) & (df[ 'HEARTRATE' ] < 100)]) >0:
    print('Alert')
else:
    print('Normal')