У меня большой набор данных с более чем 1000 столбцами, набор данных запутан в смешанных типах. Есть 2 столбца типа int64, 119 столбцов с плавающей точкой и 1266 столбцов объектов.
Я хотел бы начать очистку данных, но понял, что есть несколько проблем. Поскольку столбцов слишком много, визуальный анализ данных для выявления ошибок слишком утомителен. Пример набора данных ниже
Company ID Year Date Actual Loan Loss Depreciation Accounts Payable
001 2001 19 Oct 2001 100000.00 40000 $$ER: 4540,NO DATA VALUES FOUND
002 2002 18 Sept 2001 NaN $$ER: E100,NO WORLDSCOPE DATA FOR THIS CODE
003 2004 01 Aug 2000 145000.00 5000 Finance Dept
Я хотел бы удалить все переменные ошибки перед удалением пустых строк. Переменные ошибок обычно начинаются с "$$ ER:"
Я попробовал следующее
#load the dataset
df = pd.read_excel("path/file1.xlsx", sheet_name = "DATA_TS")
#examine the data
df.head(20)
#check number of rows, cols and dtypes
df.info()
#create a function to replace the error values
def convert_datatypes(val):
new_val = val.replace('$$ER: 4540,NO DATA VALUES FOUND','').replace('$$ER: E100,NO WORLDSCOPE DATA FOR THIS CODE', '')
return new_val
df.apply(convert_datatypes)
Код работал, но я проверил еще раз и понял, что были другие значения ошибок, такие как"$$ER: E100,INVALID CODE OR EXPRESSION ENTERED".
Я почти уверен, что есть и другие значения ошибок, хотел бы узнать, есть ли другие способы эффективного удаления значений ошибок И В ТО ЖЕ ВРЕМЯ, измените d-тип столбцовк предположительно правильному dtype (т. е. от объекта к int или str)?
Благодарим Вас за любую помощь, заранее спасибо!