[英]updated question: Updating a row value based on another row value with certain condition, pandas
[英]Pandas - Updating value in row based on condition with .apply()
简化,我想使用 function 来检查一行的条件并相应地设置值:
def helper(row):
if row["A"] == "TEST":
row["B"] = "WOW"
else:
row["C"] = "NO_GO"
moddf = df.apply(helper, axis=1)
我可以使用 iterrows() 来做到这一点,但是.apply 应该更快地迭代 df 中的 1M 行。
您不需要(也不应该使用)申请:
# toy data
df = pd.DataFrame({'A':['TEST','NO'],
'B' : ['A','B'],
'C' :list('12')})
s = df['A']=='TEST'
df.loc[s,'B'] = 'WOW'
df.loc[~s, 'C'] = 'NO_GO'
Output:
A B C
0 TEST WOW 1
1 NO B NO_GO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.