TypeError:Pandas中的“str”和“int”示例之间不支持“〈”

iswrvxsc  于 2023-01-24  发布在  其他
关注(0)|答案(1)|浏览(202)

我在DataFrame中创建了一个空列。我想基于if条件更新一个float列的String值。但是它抛出了错误TypeError: '<' not supported between instances of 'str' and 'int'
问题是:请创建名为total_bedroom_size的新列。

  • 如果卧室总数为10间或以下,则应报为小卧室。
  • 如果卧室总数在11间或以上但少于1000间,则应为中等。
  • 否则它应该被认为是大的。
''' 
   imp['total_bedroom_size'] = ' '
   imp.loc[imp['total_bedrooms'] < 10, 'total_bedroom_size'] = 'Small'
   imp.loc[imp['total_bedrooms'] < 1000, 'total_bedroom_size'] = 'Medium'
   imp.loc[imp['total_bedrooms'] > 1000, 'total_bedroom_size'] = 'Large'
'''
z18hc3ub

z18hc3ub1#

试试这个:

df['total_bedroom_size'] = ''

for index,row in df.iterrows():
   if int(row["total_bedrooms"]) <= 10:
       df.loc[index, "total_bedroom_size"] = "Small"
   elif int(row["total_bedrooms"]) <= 1000:
       df.loc[index, "total_bedroom_size"] = 'Medium'
   elif int(row["total_bedrooms"]) > 1000:
       df.loc[index, "total_bedroom_size"] = 'Large'

  print(df)

相关问题