python - 转换列中的数据类型并替换 NaN 和其他值
问题描述
我在熊猫中有这个数据框,在某些单元格中具有 NaN 和“未知”值,并且所有列的数据类型为“对象”。我要摆脱这个令人不安的值(禁止掉线),并将列类型更改为适当的类型。我试过这段代码:
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)转换为整数”。请就我工作的最佳方式和我的错误提供一些建议。
解决方案
推荐阅读
- r - 如何在R中查找总行值
- shiny - SelectInput 选项不会根据在 Shiny 中选择的 csv 文件动态填充
- c++ - 为什么在这些不同情况下数据/BSS 大小会发生变化?
- laravel - 如何在 Laravel 中安装 Slim Cropper?
- javascript - Reddit API 不返回 NSFW 帖子
- php - 根据 Web 表单中选择字段的值更改输入字段的数据要求
- python - 过滤数据框中的标点符号
- python - 如何将张量元素与特定列的相似值结合起来?
- java - Java robot.getPixelColor if else 语句不起作用
- python - 尝试导入 smtplib 模块的语法错误