【问题标题】:How to assess all values of a row in a pandas dataframe and write into a new column如何评估熊猫数据框中一行的所有值并写入新列
【发布时间】:2019-11-20 10:38:22
【问题描述】:

我有一个 62 行 x 10 列的 pandas 数据框。每行包含数字,如果任何数字在一定范围内,则将字符串返回到最后一列。

我没有成功尝试使用 .apply 方法使用函数进行评估。我也尝试过作为一个系列导入,但是 .apply 方法会导致问题,因为它是一个列表。

df = pd.read_csv(results)

例如,在所附图片中,如果从 2019 年到 26 财年负载的任何值介于 0.95 和 1.05 之间,则在最后一列中返回“可接受”,否则返回“不可接受”。

任何帮助,即使是开始,将不胜感激。

【问题讨论】:

    标签: python pandas csv dataframe file-io


    【解决方案1】:

    这应该按预期执行:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-23
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2016-12-10
      • 2016-03-11
      • 1970-01-01
      相关资源
      最近更新 更多