Python 删除满足条件的行的函数
我试图从满足以下条件的数据帧中删除行: 如果x介于-1和1之间,则删除该行,如果不是,则继续循环数据帧 这是针对Python2.7的,虽然我没有得到任何语法错误,但当我尝试在dataframe中的特定列上调用函数时,我的输出文件无法识别嵌入到函数中的条件。我是个新手,所以这里可能有很多问题Python 删除满足条件的行的函数,python,pandas,python-2.7,function,Python,Pandas,Python 2.7,Function,我试图从满足以下条件的数据帧中删除行: 如果x介于-1和1之间,则删除该行,如果不是,则继续循环数据帧 这是针对Python2.7的,虽然我没有得到任何语法错误,但当我尝试在dataframe中的特定列上调用函数时,我的输出文件无法识别嵌入到函数中的条件。我是个新手,所以这里可能有很多问题 def下降(行): 计数器=0 对于df中的行: 如果行在范围(-1,1)内: 落差(行,轴=0) 其他: 持续 计数器=+1 df[“列”]。应用(下拉) 您只需: df.loc[~df['col'].is
def下降(行):
计数器=0
对于df中的行:
如果行在范围(-1,1)内:
落差(行,轴=0)
其他:
持续
计数器=+1
df[“列”]。应用(下拉)
您只需:
df.loc[~df['col'].isin(range(-1,1))]
你只需要:
df.loc[~df['col'].isin(range(-1,1))]
只需使用满足条件的行进行索引:
df=df[(-11)]
您只需要:df.loc[~df['col']].isin(range(-1,1))
您的代码没有按照您的要求执行操作的原因是df.drop
无法正常工作,除非您告诉它。因此,您可以使用df.drop(row,axis=0,inplace=True)。但是tbh,harvpan的答案更有效。@harvpan这应该是一个answer@Marat,好建议。作为答案添加。只需使用符合条件的行进行索引:df=df[(-11)]
您只需要:df.loc[~df['col'].isin(range(-1,1))
代码没有按照您的要求执行操作的原因是df.drop
无法正常工作,除非您告诉它。因此,您可以使用df.drop(row,axis=0,inplace=True)。但是tbh,harvpan的答案更有效。@harvpan这应该是一个answer@Marat,好建议。作为答案添加。这看起来确实更有效,但由于某种原因,当我执行脚本时,它不会删除应用了条件的行。你是什么意思?你能为这个问题创建一个解决方案吗@拉金请忽略不计,忘记了范围实际上是为整数而不是浮点数设计的。在您提出建议之前,我只做了一点操作,但现在似乎已经全部设置好了。这看起来确实更有效,但由于某些原因,当我执行脚本时,由于某些原因,它不会删除应用了条件的行。您的意思是什么?你能为这个问题创建一个解决方案吗@拉金请忽略不计,忘记了范围实际上是为整数而不是浮点数设计的。在你提出建议之前,我只做了一点操作,但现在一切似乎都准备好了。