【问题标题】:ValueError: could not convert string to float: python pandansValueError:无法将字符串转换为浮点数:python pandas
【发布时间】:2022-01-10 00:31:59
【问题描述】:

我正在尝试将所有单元格值(日期除外)转换为浮点数,但我得到了和

错误: 只能使用带有字符串值的 .str 访问器!

这是我的代码:

df['Market Cap_'+str(coin)] = df['Market Cap_'+str(coin)].str.replace(',','').str.replace('$', '').astype(float)
        df['Volume_'+str(coin)] = df['Volume_'+str(coin)].str.replace(',','').str.replace('$', '').astype(float)
        df['Open_'+str(coin)] = df['Open_'+str(coin)].str.replace(',','').str.replace('$', '').astype(float) 
        df['Close_'+str(coin)] = df['Close_'+str(coin)].str.replace(',','').str.replace('$', '').astype(float)

这里是 df.info() 的输出

Int64Index:30 个条目,1 到 30 数据列(共5列):

列非空计数 Dtype


0 Date_ETHEREUM 30 非空 datetime64[ns] 1 市值_ETHEREUM 30 非空 float64
2 Volume_ETHEREUM 30 非空 float64
3 Open_ETHEREUM 30 非空 float64
4 Close_ETHEREUM 30 非空对象
数据类型:datetime64ns、float64(3)、object(1) 内存使用量:1.4+ KB 这是我的数据框的图像:

注意:硬币只是一个字符串,它是从每个特定硬币表的 URL 动态添加的。

我将不胜感激任何帮助或替代解决方案。

【问题讨论】:

  • 在尝试将其解析为浮点数之前,您需要从该列中的值中删除 $
  • 我根据您的回答修改了代码,出现错误,请检查
  • 但已转换
  • 我已经更新了我的问题。在最后一列出现错误,

标签: python dataframe object floating-point type-conversion


【解决方案1】:

您有一个 $ 符号,因此该值无法解析为浮点数。在将列转换为浮点类型之前将其删除

【讨论】:

  • 我根据您的回答修改了代码,出现错误,请检查
  • 您的编辑现在显示的是警告,而不是错误,转换是否有问题?
  • 更新了我的问题;我能够转换前三个,但在最后一个出现错误,因为它显示有问题
  • @RoxanaSlj 请添加完整的错误输出,包括行号和失败的行
猜你喜欢
  • 2021-07-22
  • 1970-01-01
  • 2019-10-03
  • 2021-01-11
  • 2018-04-23
  • 2015-03-25
  • 2021-12-23
  • 2017-08-12
  • 1970-01-01
相关资源
最近更新 更多