如何评估 pandas 数据框中一行的所有值并写入新列
How to assess all values of a row in a pandas dataframe and write into a new column
我有一个 62 行 x 10 列的 pandas 数据框。每行包含数字,如果任何数字在特定范围内,则 return 将字符串放入最后一列。
我试过.apply方法用函数做评估,没成功。我也尝试过作为一个系列导入,但是 .apply 方法会导致问题,因为它是一个列表。
df = pd.read_csv(results)
例如,在附图中,如果从 2019 财年到 FY26 负载的任何值介于 0.95 和 1.05 之间,则 return 'Acceptable' 进入最后一列,否则 return 'Not Acceptable'。
任何帮助,即使是开始也将不胜感激。
这应该按预期执行:
results = "input.csv"
df = pd.read_csv(results)
low = 0.95
high = 1.05
# The columns to check
cols = df.columns[2:]
df['Acceptable?'] = (df[cols] > low).any(axis=1) & (df[cols] < high).all(axis=1)
我有一个 62 行 x 10 列的 pandas 数据框。每行包含数字,如果任何数字在特定范围内,则 return 将字符串放入最后一列。
我试过.apply方法用函数做评估,没成功。我也尝试过作为一个系列导入,但是 .apply 方法会导致问题,因为它是一个列表。
df = pd.read_csv(results)
例如,在附图中,如果从 2019 财年到 FY26 负载的任何值介于 0.95 和 1.05 之间,则 return 'Acceptable' 进入最后一列,否则 return 'Not Acceptable'。
任何帮助,即使是开始也将不胜感激。
这应该按预期执行:
results = "input.csv"
df = pd.read_csv(results)
low = 0.95
high = 1.05
# The columns to check
cols = df.columns[2:]
df['Acceptable?'] = (df[cols] > low).any(axis=1) & (df[cols] < high).all(axis=1)