【发布时间】:2020-12-25 01:35:24
【问题描述】:
我正在尝试获取导演列表并根据我在此.csv file 中拥有的所有电影计算他们的平均分数。我已经编写了一些示例代码,因此更容易理解。示例代码工作正常,但是当我使用 .csv 文件中的列时,它给了我这个错误,'<' not supported between instances of 'str' and 'float'。下面是示例代码:
df = pd.DataFrame(data={"Director":[ 'Christopher Nolan', 'David Fincher', 'Christopher Nolan', 'Quentin Tarantino', 'Quentin Tarantino', 'Christopher Nolan' ],
"Score": [ 8.9, 9.0, 8.8, 7.8, 9.2, 7.9]})
director_list = []
avg_scores = []
for director in np.unique(df["Director"]):
director_list.append(director)
avg_scores.append(df.loc[df["Director"]==director, "Score"].mean())
df = pd.DataFrame(data={"Director":director_list, "Score": avg_scores})
df
如果有人能提供帮助,我将不胜感激:)
这是我的主文件中导致错误的代码。
data = pd.read_csv('movies.csv') # read in file
dataDirector = data
dataDirector.dropna(subset=['Director', 'Score']) # create data set for year score graph
dataDirector.sort_values(by=['Score'], inplace=True) # order the scores
dataDirector.reset_index()
df4 = pd.DataFrame(data={"Director":dataDirector['Director'], "Score": dataDirector['Score']})
director_list4 = []
avg_scores4 = []
for director in np.unique(df4["Director"]):
director_list4.append(director)
avg_scores4.append(df4.loc[df4["Director"]==director, "Score"].mean())
df4 = pd.DataFrame(data={"Director":director_list4, "Score": avg_scores4})
df4
【问题讨论】:
标签: python string dataframe csv type-conversion