Pandas - 将值作为字符串类型转换为浮点数

Posted

技术标签:

【中文标题】Pandas - 将值作为字符串类型转换为浮点数【英文标题】:Pandas - convert value as type string to float 【发布时间】:2021-02-07 16:24:47 【问题描述】:

在我的 df 中,我将一些值设置为 dtype(str)

      x
  27:47
  13:45
  10:45

我想将它们转换为float,最后是:

      x
  27.47
  13.45
  10.45

我该怎么做?

【问题讨论】:

27 mins, 47 seconds 不是27.47 分钟? 可以是'.',没问题 我的意思是 1 分钟 = 60 秒,所以 47 seconds 大约是 .76 分钟,而不是 .47 分钟。 名字无所谓,真的,只是转换 【参考方案1】:

在你的情况下,你可以这样做:

df['x'] = df['x'].str.replace(':','.').astype(float)

输出:

       x
0  27.47
1  13.45
2  10.45

【讨论】:

【参考方案2】:

试试这个:

df['x'] = df['x'].replace(to_replace=":",value=".").astype(float)

【讨论】:

.str 是必需的。 不。因为这是 Pandas .replace() 方法 好吧,下面的解决方案奏效了,唯一的区别是那个.... 是的...我确保通过df.x.astype(str)...但不知何故它只适用于替换之前的.str 对于之前的我来说,没有.str,它仍然可以工作,仍然无法弄清楚是什么原因

以上是关于Pandas - 将值作为字符串类型转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章

Pandas整型自行变换为浮点及时间类型转换失败情况分析及解决

如何在 Python Pandas 中使用逗号作为小数分隔符的浮点格式?

Vue 将 input[type=number] 转换为字符串值

停止杰克逊读数字作为字符串

python Pandas - 将列转换为字符串或数字类型

Python Pandas 将字符串转换为 NaN