Given: 700 columns with many similar object categorical variables. It is necessary: to replace the names of these variables in all observations so that there are 4-5 values. This is done by fragments of phrases.
Code:
for n in df_court.columns: # Для каждого столбца из датафрейма if df_court[n].dtype.name == 'object' and 'docName' in n: # если тип переменной столбца object,и есть фрагмент docName for value in df_court[n]: # в названии, для каждого элемента столбца, если фрагмента if 'Исполнительный лист' in value: # "Исполнительный лист" есть в названии, то присовить value = 'Положительный фактор' # названию значени "положительный фактор" print(value) # проверка выводом на печать But he gives an error:
TypeError Traceback (most recent call last) <ipython-input-70-cc61f6ae65fe> in <module>() 2 if df_court[n].dtype.name == 'object' and 'docName' in n: 3 for value in df_court[n]: ----> 4 if 'Исполнительный' in value: 5 value = 'збс' 6 print(value) TypeError: argument of type 'float' is not iterable Prompt correct syntax, or logic, if it is also an error.
I would like to get from the input:
Series: nan Исполнительное производство Исполнительное производство Отзыв иска Жалоба Жалоба Жалоба Жалоба Ходатайство Иск удовлетворить Similar output:
Series Нейтральный фактор # состоит из nan Положительный фактор Положительный фактор Негативный фактор Негативный фактор Негативный фактор Негативный фактор Негативный фактор Положительный фактор Положительный фактор That is, rename categories by fragments of phrases, because all exact variations of phrases of special terms are not tracked.