创建新变量,其值应为python中imdbrating和imdbvotes之间差值的平方

创建新变量,其值应为python中imdbrating和imdbvotes之间差值的平方,python,pandas,Python,Pandas,这是我用来计算imdbRating和imdbvows imdb_数据['imdbvoces']=imdb_数据['imdbvoces'].astype(int) imdb_数据['imdbRating']=imdb_数据['imdbRating'].astype(int) imdb_数据['new']=imdb_数据['imdbRating']-imdb_数据['imdbrates'] 这就是我在Python 3.7.0+0.23.4中遇到的错误: TypeError:字符串索引必须是整数 (

这是我用来计算
imdbRating
imdbvows

imdb_数据['imdbvoces']=imdb_数据['imdbvoces'].astype(int)
imdb_数据['imdbRating']=imdb_数据['imdbRating'].astype(int)
imdb_数据['new']=imdb_数据['imdbRating']-imdb_数据['imdbrates']
这就是我在Python 3.7.0+0.23.4中遇到的错误:

TypeError:字符串索引必须是整数


imdb_data
是一个数据框,引用的列名确实存在)

imdbRating,imdbVotes
应为数据类型
float
。因此,将它们从
string
转换为
float
。然后做你的计算

imdb_data=pd.read_csv('imdb_data.csv',sep=',',encoding='ISO-8859-1')
imdb_数据['imdbRating']=pd.to_numeric(imdb_数据['imdbRating'],errors='concurve',downcast='float')
imdb_数据['imdbvoates']=pd.to_numeric(imdb_数据['imdbvoates'],errors='concurve',downcast='float')
imdb_数据['new']=imdb_数据['imdbRating']-imdb_数据['imdbrates']
imdb_data.head()
输出为


imdbRating、imdbVotes
应为数据类型
float
。因此,将它们从
string
转换为
float
。然后做你的计算

imdb_data=pd.read_csv('imdb_data.csv',sep=',',encoding='ISO-8859-1')
imdb_数据['imdbRating']=pd.to_numeric(imdb_数据['imdbRating'],errors='concurve',downcast='float')
imdb_数据['imdbvoates']=pd.to_numeric(imdb_数据['imdbvoates'],errors='concurve',downcast='float')
imdb_数据['new']=imdb_数据['imdbRating']-imdb_数据['imdbrates']
imdb_data.head()
输出为



请参阅。
imdb\u数据
不是数据帧,如果这是您得到的错误?不,这不是错误。imdb_数据我将其转换为所需的数据类型。我猜这是因为数据集中缺少值或数据未清理。您是否可以为示例数据框提供值,以便其他人可以复制粘贴并检查您的问题?以下是指向整个数据集的链接()@princefrance请参见。
imdb_data
如果是您收到的错误,则不是数据帧?不,不是错误。imdb_数据我将其转换为所需的数据类型。我猜这是因为数据集中缺少值或数据未被清理。你能为示例数据框提供值,以便其他人可以复制粘贴并检查你的问题吗?这是指向整个数据集的链接()@princefrance我尝试了上述代码,但仍然遇到相同的错误,还尝试了这行代码“imdb_data”['imdbRating']=imdb_数据['imdbRating'].astype(float)”同样的错误是字符串索引必须是整数@princefrances你的python和pandas版本是什么?python 3.7.0和pandas:0.23.4我使用的是pandas
0.25.3
和python
3.7.5
。它在这里工作。我用输出编辑了我的答案。更新了pandas版本,现在它工作了。我尝试了上面的代码和我遇到了相同的错误,也尝试了这行代码“imdb_数据['imdbRating']=imdb_数据['imdbRating']”。astype(float)同样的错误是字符串索引必须是整数@PrinceFrancisWhat是python和pandas版本?python 3.7.0和pandas:0.23.4我使用的是pandas
0.25.3
和python
3.7.5
。它在这里工作。我用输出编辑了我的答案。更新了pandas版本,现在工作了
    Plot    Title   imdbVotes   Poster  imdbRating  Genre   imdbID  Year    Language    new
0   Despite his tarnished reputation after the eve...   The Dark Knight Rises   2679.0  http://ia.media-imdb.com/images/M/MV5BMTk4ODQz...   75.0    Action, Thriller    tt1345836   2012    English     -2604.0
1   0   0   0.0     0   0.0     0   0   0   0   0.0
2   Based on the novel written by Stephen Chbosky,...   The Perks of Being a Wallflower     1270.0  http://ia.media-imdb.com/images/M/MV5BMzIxOTQy...   71.0    Drama, Romance  tt1659337   2012    English     -1199.0
3   Mike Lane is a thirty-year old living in Tampa...   Magic Mike  2580.0  http://ia.media-imdb.com/images/M/MV5BMTQzMDMz...   51.0    Comedy, Drama   tt1915581   2012    English     -2529.0
4   When Bond's latest assignment goes gravely wro...   Skyfall     1807.0  http://ia.media-imdb.com/images/M/MV5BMjAyODkz...   68.0    Action, Thriller    tt1074638   2012    English     -1739.0