我目前正在做一个情绪分析项目。当我尝试加载数据时,出现错误TypeError: '<=' not supported between instances of 'str' and 'int'
。所以我将 str 修改为 int。但是,现在出现错误TypeError: cannot convert the series to <class 'int'>
。如何解决此错误? 数据类型 = dtype('O'(
import pandas as pd
#read data
review_df = pd.read_csv( '/Users/mhnwong/Desktop/FYP potential/metropark_trans_demoji.csv')
#create label
review_df["is_bad_review"] = int(review_df["rate"]).apply(lambda x:1 if x <= 8 else 0)
# select only relevant columns
review_df = review_df[["review","is_bad_review"]]
review_df.head()
数据: 这是我得到的数据
文件中metropark_trans_demoji.csv
的rate
列是否包含不属于数字的内容?
应先确保rate
列的内容都可以转换为int
。
假设rate
列的数据都属于int
,那么可以这样写
review_df["is_bad_review"] = review_df["rate"].apply(lambda x:1 if int(x) <= 8 else 0)
这会将rate
列的内容转换为int
,然后将其与 8 进行比较。
review_df["rate"]
的类型是<class 'pandas.core.series.Series'>
.它不能直接转换为int
。