![](/img/trans.png)
[英]Python: how to apply a function with condition on a pandas dataframe?
[英]How to interrupt while using apply function on a pandas dataframe python?
有没有一种方法可以使用apply
函数为pandas
dataframe
计算一个新列,但是会根据某些条件“中断”它。
假设我有一个包含2000行的数据框,并且我的标准(取决于先前计算的应用值)在第1000个处变为false
。 计算下一个1000是浪费的,我希望pandas
在第1000个之后停止“应用”,并将目前的计算结果还给我。
那可能吗 ?
有条件使用
df['new']=df['old'].apply(lambda x: <calculation> if <condition>(ex : x == 0) else x )
要么
df.loc[df['col']=='value','col']= df.loc[df['col']=='value','col'].apply(lambda x: "new_value" )
您可以应用在只想要行。
假设您的索引是自动递增且连续的,如果没有,则可以始终执行reset_index
来实现。 或者,您可以选择所需的任何条件,而不是前1000行。
idx = df.index < 1000 # index of 1000 items
df.loc[idx, '<yourcolums>'] = df[idx].apply(...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.