【问题标题】:How can I change the .csv file column to something compatible?如何将 .csv 文件列更改为兼容的内容?
【发布时间】: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


    【解决方案1】:

    是不是,你试着说这样的话:

    if score < x: #do something
    

    请检查您的 x 是否也是浮点或整数数据类型。正如错误所说,您可能使用像“6”这样的字符串而不是像 6 这样的整数或浮点数。

    更新:

    此语句引发错误:

    np.unique(df4["Director"])
    

    您不能将它用于字符串。尝试类似

    df4["Director"].unique()
    

    【讨论】:

    • 对不起,我不完全明白你想说什么。
    • 你能发布引发错误的声明吗?
    • 谢谢,效果很好。我希望我能接受这样的事情。
    猜你喜欢
    • 1970-01-01
    • 2019-11-11
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多