我遇到了错误
尝试在Pandas数据框中打印以下行时'>' ' str'的实例之间不支持和' int'
print (survey_df_clean.shape)
print (survey_df_clean[survey_df_clean['text']>30].shape)
我是否应该尝试将它们转换为int以及在此语句中如何工作?
答案 0 :(得分:3)
此消息表明,您尝试将字符串对象(int
)与整数(survey_df_clean['text']
)进行比较。
表达式
30
可能会返回一个字符串。因此,您无法直接将其与数字pandas.Series.str.len()
进行比较。如果您想比较条目的长度,可以使用pandas.to_numeric
操作,因为您可以看到cycle。
如果此字段应该包含整数,您可以使用here方法(str
)将其从int
投射到<input type="file" accept="image/*" id="imguploader">
。
答案 1 :(得分:3)
首先请确保Survey_df_clean ['text']的所有值都相同,如果要转换为数字,请执行以下操作:
.key
然后执行
https://myproject.com/
答案 2 :(得分:0)
survey_df_clean['text']
在某些位置可能具有NAN或str值。
找出:
survey_df_clean['text'].isnull().sum()
如果是,请先照顾好他们,然后申请
print (survey_df_clean[survey_df_clean['text']>30].shape)
答案 3 :(得分:0)
这是因为“文本”列中的值属于str类型,并且您正在将str与int进行比较。 您可以快速检查一下“文本”列的类型。
print(type(survey_df_clean['text'][:1][0]))
为进行比较,您可以按照以下步骤进行操作
survey_df_clean[survey_df_clean['text'].astype(int)>30]
答案 4 :(得分:0)
尝试使用该条件时,我有相同的错误消息。令我着迷的是,同一命令已在另一台笔记本电脑上正确运行。
不同之处在于我读取csv文件的方式。这是一件麻烦事:
df=pd.read_csv('data.csv')
当我输入十进制参数时,它起作用了:
df=pd.read_csv('data.csv', decimal=',')
很显然,这取决于数据的组织方式。 ;)