У меня есть следующий фрейм данных:
import pandas as pd
import re
df = pd.DataFrame({'Column_01': ['Press', 'Temp', '', 'Strain gauge', 'Ultrassonic', ''],
'Column_02': ['five', 'two', 'five', 'five', 'three', 'three']})
Сначала я хотел бы проверить, заполнен ли столбец «Столбец_01». Если заполнено поле «Столбцы_01» ИЛИ «Столбец_02» содержит слова «один», «два», «три». Новый столбец (классификатор) получит «SENSOR».
Чтобы идентифицировать строку «Column_02», я реализовал следующий код:
df['Classifier'] = df.apply(lambda x: 'SENSOR'
if re.search(r'one|two|three', x['Column_02'])
else 'Nan', axis = 1)
Этот код работает. Он отлично находит строку в строке dataframe. Тем не менее, мне также нужно было проверить, что 'Column_01' заполнен. Я не могу использовать функцию notnull () для решения проблемы.
Я хотел бы, чтобы вывод был:
Column_01 Column_02 Classifier
Press five SENSOR #current line of Column_01 completed
Temp two SENSOR #current line of Column_02 completed; string 'two'
five Nan
Strain gauge five SENSOR #current line of Column_01 completed
Ultrassonic three SENSOR #current line of Column_01 completed; string 'three'
three SENSOR #string 'three'