【问题标题】:How do I make an if statement in with multiple parameter using excel columns in python csv如何使用python csv中的excel列在多个参数中创建if语句
【发布时间】:2021-12-18 19:12:07
【问题描述】:

所以基本上我正在尝试编写一个语句,如果 Col1 = 1 或 Col2 = 1 中的值而不是创建一个值为 10 的新列,并且如果 Col1 和 Col2 = 0 新列应该打印 0 或只是跳过.

到目前为止,这就是我所做的

if df.Col1 == 1 or df.Col2 == 1:
    df['newCol'] = 10
else: pass

这给了我一个错误。

【问题讨论】:

  • 问题是这是基于一个参数。我想做一个满足两个参数的声明
  • 这与您在条件中使用 OR 运算符 (|) 的语法相同(where 方法中的第一个参数。真正的收获是,无论何时您在一个数据框,你认为“我需要循环”它应该抛出危险信号。

标签: python pandas if-statement multiple-columns


【解决方案1】:

你可以这样做:

df['newCol'] = np.where(((df['Col1']==1)|(df['Col2']==1)), 10,np.nan)

【讨论】:

    【解决方案2】:

    假设 df 是您的数据框,试试这个。 df['newcolumn'] =df.apply(function, axis=1) 然后在函数中写入 def function(row) : if row['col1'] == 1 or行['Col2'] == 1: return 10(你也可以在 else 部分传递 0)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多