【问题标题】:Pandas error cannot convert String to Float setting a value at indexPandas 错误无法将 String 转换为 Float 在索引处设置值
【发布时间】:2020-01-15 21:08:15
【问题描述】:

我知道上次运行脚本时这对我有用。但它看起来不再是了。我有一个抓取模块,它返回一个字典,在我的主脚本中运行 scraping 并分配值。但现在我得到这个错误,关于无法将字符串值转换为浮点数(我应该从一开始就将列设置为字符串吗?)

这是错误

dataset.at[index,'UserPhotoUrl'] = scrapedData['usernamePhotoLink']

ValueError:无法将字符串转换为浮点数:'https://instagram.fhex4-1.fna.fbcdn.net/v/t51.2885-19/s150x150/81572390_579207132636171_1735861275205828608_n.jpg?_nc_ht=instagram.fhex4-1 .fna.fbcdn.net&_nc_ohc=EfweZRX7mn8AX8kKx7e&oh=b7cb7aaf3ee583604e4a40cd7b23447f&oe=5EA1B8F7'

【问题讨论】:

标签: python json pandas screen-scraping


【解决方案1】:

好吧,伙计们,我确实找到了解决方案。虽然看起来不那么优雅。

dataset = pd.read_csv(openFilename, delimiter = ',',encoding = my_encoding)
dataset['UserPhotoUrl'] = " "
dataset['PostPhotoUrl'] = " "
dataset.astype({'UserPhotoUrl': 'str'})
dataset.astype({'PostPhotoUrl': 'str'})

必须在一开始就强制设置为str。

【讨论】:

    【解决方案2】:

    您是否尝试将 scrapedData 显式设置为字符串?

    dataset = pd.read_csv(openFilename, delimiter = ',',encoding = my_encoding, dtype={'UserPhotoUrl': str, 'PostPhotoUrl': str})
    

    【讨论】:

    • 您好,感谢您的回答!是的,它没有用.. 我得到 dataset.at[index,'UserPhotoUrl'] = scrapedData['usernamePhotoLink'].astype('str') AttributeError: 'str' object has no attribute 'astype'
    • 也试过了.. dataset.at[index,'UserPhotoUrl'] = "hello".astype('str')
    • 可能是熊猫版本,我不知道我是否在一个版本上,也许我得到了更新或什么......
    • 好吧,那表示 scrapedData 已经是一个字符串了。所以我会尝试设置df.astype({'UserPhotoUrl': 'str'})
    • dataset.at[index,'UserPhotoUrl'] = "hello" 也不起作用,哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多