[英]From R to Python: ifelse conditional in mutate dataframe
As a beginer in Python, I'm trying to reference similar R-sintax for a task of data wrangling in a pandas DataFrame, but this have not been successful for the ifelse statement inside a mutate function. As a beginer in Python, I'm trying to reference similar R-sintax for a task of data wrangling in a pandas DataFrame, but this have not been successful for the ifelse statement inside a mutate function.
# R code
df <- data.frame(var1 = c('2020-12-01','2020-12-02',NA,NA,'2020-12-05'),
var2 = c('start','start','start','start','start')
stringsAsFactors = F)
df <- df %>% dplyr::mutate(var2 = ifelse(!is.na(var1), 'complete', var1))
Some advice about the way to obtain the same result using Python-sintax?关于使用 Python-sintax 获得相同结果的方法的一些建议?
Try with numpy.where
尝试使用numpy.where
df.var2 = np.where(df.var1.isnull(), np.nan, 'complete')
Or another option that is similar to base R
is create a logical index and use that in replacement或者类似于base R
的另一个选项是创建一个逻辑索引并使用它来替换
i1 = df.var1.isnull()
df.loc[i1, 'var2'] = np.nan
df.loc[~i1, 'var2'] = 'complete'
-output -输出
df
# var1 var2
#0 2020-12-01 complete
#1 2020-12-02 complete
#2 NaN NaN
#3 NaN NaN
#4 2020-12-05 complete
import numpy as np
import pandas as pd
df = pd.DataFrame({"var1":['2020-12-01','2020-12-02',np.nan,np.nan,'2020-12-05'],
"var2": ['start','start','start','start','start']})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.