Я хотел бы скопировать значения из одного столбца (ЛИЧНАЯ ИНФОРМАЦИЯ) в другой (ПЕРЕМЕННАЯ) на основе нескольких условий, перечисленных ниже
Проверьте, начинается ли столбец «ЛИЧНАЯ ИНФОРМАЦИЯ»с цифрами
Проверьте, соответствует ли значение соответствующей строки в столбце «VARIABLE» Nan
Проверьте, соответствует ли предыдущее значение строки в столбце «VARIABLE»это не Нан (здесь «пол» - не нан, но могут быть случаи, когда это Нан)
После того, как все условия выполнены, я хотел бы скопировать значения из «ПЕРСОНАЛЬНЫЙ»ИНФОРМАЦИЯ 'КОЛОННА В' ПЕРЕМЕННАЯ 'КОЛОННА
Ниже вы найдете, как выглядят входные данные
df = pd.DataFrame({'PERSONAL INFORMATION':['Gender','1.Male','2.Female','Ethnicity','1.Chinese','2.Indian','3.Eurasian','Marital Status','1.Single','2.Married','3.Divorced'], 'VARIABLE':['gender', np.nan, np.nan,'ethn',np.nan,np.nan,np.nan,np.nan,np.nan,np.nan,np.nan]})
Параметры семейного положения не должны копироваться в столбец "Переменная", поскольку предыдущая строкаНэн здесь.
Я использовал опцию np.where, но не знал, как проверить предыдущее значение строки.Я не хочу использовать для цикла.
df['VARIABLE'] = np.where((df['PERSONAL
INFORMATION'].str.startswith(('\d+')) == True) & (df['VARIABLE'].isna() ==
True) & 3RD CONDITION FOR PREVIOUS ROW CHECK
Не могли бы вы помочь мне узнать, как проверить значение предыдущей строки для nan.Если это Нэн, я не хочу копировать данные.Если это не Nan, то данные должны быть скопированы