Python 3.x 多个嵌套if条件

Python 3.x 多个嵌套if条件,python-3.x,pandas,dataframe,if-statement,Python 3.x,Pandas,Dataframe,If Statement,我有一个大小为(2000行x 10列)的数据帧(DF) 如果满足以下条件,则代码的结构是多嵌套的: DF['NewColumn']='' for i in range (0, len(DF)) if condition define variable etc if condition DF['NewColumn'].values[i]= some value else: DF['NewColumn'].values[i]= some valu

我有一个大小为(2000行x 10列)的数据帧(DF)

如果满足以下条件,则代码的结构是多嵌套的:

DF['NewColumn']=''

for i in range (0, len(DF))
  if condition
    define variable etc
    if condition
      DF['NewColumn'].values[i]= some value
    else:
      DF['NewColumn'].values[i]= some value  

基本上,我循环数据帧的每一行,检查条件并根据if条件集填充新列的每一行

如果我的问题不够具体,我深表歉意,但我正在寻找更有效地编写此问题代码的方法。我渴望听到你的想法

我可以使用类或向量吗?我不知道如何重组我的问题


非常感谢

您可以像这样对循环进行矢量化

temp = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
condition1 = (temp["A"] > 20) & (temp["B"] < 20)
temp["NewColumn"] = condition1.astype(int)
condition2 = (temp["C"] > 20) & (temp["A"] < 50)
temp["NewColumn2"] = np.where(condition2, "between", "out")
temp=pd.DataFrame(np.random.randint(0100,size=(100,4)),columns=list('ABCD'))
条件1=(温度[“A”]>20)和(温度[“B”]<20)
temp[“NewColumn”]=condition1.astype(int)
条件2=(温度[“C”]>20)和(温度[“A”]<50)
temp[“NewColumn2”]=名词短语,其中(条件2,“介于”和“超出”)

您能否提供有关
条件的一些数据和更多信息
?您的
条件
是否取决于
DF
中的值?
某些值如何?@amaslenn yes如果某些条件取决于DF中的值,则某些值如何。“某些值”也取决于DF中的值。条件检查是否违反了某些阈值,或者DF中的某些值是否属于@J.Doe的某些类别。是否可以使用类或函数来实现相同的结果?