Преобразование типов данных в столбцах и замена NaN и других значений - PullRequest
2 голосов
/ 03 февраля 2020

У меня есть этот фрейм данных в pandas со значениями NaN и "Unknown" в некоторых ячейках и с типом данных "object" всех столбцов. Я должен избавиться от этих тревожных значений (удаление строк запрещено) и изменить типы столбцов на соответствующие. Я пробовал этот код:

import numpy as np
movies_converted = movies.copy()
movies_converted.replace(to_replace='Unknown', value=np.nan, regex=True)
movies_converted.fillna("", inplace=True)
movies_converted['Title']=movies_converted['Title'].astype('str')
movies_converted['US Gross']=pd.to_numeric(movies_converted['US Gross'],errors='coerce').astype('int') 
movies_converted['Worldwide Gross']=pd.to_numeric(movies_converted['Worldwide Gross'], errors='coerce').astype('int')
movies_converted['Production Budget']=pd.to_numeric(movies_converted['Production Budget']).astype('int')
movies_converted['Release Date']=pd.to_datetime(movies_converted['Release Date'],errors='coerce')
movies_converted['Distributor']=movies_converted['Distributor'].astype('str')
movies_converted['Source']=movies_converted['Source'].astype('str')
movies_converted['Major Genre']=movies_converted['Major Genre'].astype('str')
movies_converted['Creative Type']=movies_converted['Creative Type'].astype('str')
movies_converted['Director']=movies_converted['Director'].astype('str')
movies_converted['Rotten Tomatoes Rating']=pd.to_numeric(movies_converted['Rotten Tomatoes Rating'])
movies_converted['IMDB Rating']=movies_converted['IMDB Rating'].str.replace(',',".").astype('float', errors='ignore')
movies_converted['IMDB Votes']=pd.to_numeric(movies_converted['IMDB Votes'],errors='coerce')
movies_converted

Я новичок в Python, поэтому я не знаю, что я делаю неправильно, но я всегда получаю некоторые ошибки, теперь это одна " ValueError: Невозможно преобразовать неконечные значения (NA или inf) в целое число ". Пожалуйста, дайте несколько советов о лучших способах выполнения моей работы и о моих ошибках.

...