熊猫将字符串比率评估为浮点数

无政府状态

我有以下数据框:

Date        Ratios
2009-08-23  2:1
2018-08-22  2:1
2019-10-24  2:1
2020-10-28  3:2

我想将比率转换为浮点数,所以2:1变成2/1变成0.5,3:2变成0.66667。

我用下面的公式

df['Ratios'] = 1/pd.eval(df['Ratios'].str.replace(':','/'))

但我不断收到这个错误 TypeError: unsupported operand type(s) for /: 'int' and 'list'

我的代码有什么问题,我该如何解决?

耶斯列尔

不要pd.eval用于Series,因为如果更多的是100行,它将返回难看的错误,因此需要分别转换每个值:

df['Ratios'] = 1/df['Ratios'].str.replace(':','/').apply(pd.eval)

但是,您的错误似乎也包含一些非数字值:

超过100行的错误:

AttributeError:“ PandasExprVisitor”对象没有属性“ visit_Ellipsis”


如果仍然无法正常工作,您可以尝试测试自定义函数中的数据是否正确:

print (df)
         Date Ratios
0  2009-08-23   2:1r
1  2018-08-22    2:1
2  2019-10-24    2:1
3  2020-10-28    3:2


def f(x):
    try:
        pd.eval(x)
        return False
    except:
        return True


df = df[df['Ratios'].str.replace(':','/').apply(f)]
print (df)
         Date Ratios
0  2009-08-23   2:1r

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

formatFloat:将浮点数转换为字符串

来自分类Dev

Python-将字符串解析为浮点数组?

来自分类Dev

如何使用函数样式将字符串解析为浮点数列表?

来自分类Dev

如何将字符串编码的浮点数组解组为浮点数组?

来自分类Dev

将百分比字符串转换为浮点数在熊猫中read_csv

来自分类Dev

解析浮点数的字符串

来自分类Dev

将字符串总和打印为浮点数

来自分类Dev

Python将字符串转换为浮点数

来自分类Dev

如何将四个浮点数压缩为字符串?

来自分类Dev

熊猫数据框将特定列从字符串转换为浮点数

来自分类Dev

将所有浮点数四舍五入为字符串

来自分类Dev

熊猫将浮点数转换为不带小数的字符串

来自分类Dev

将字符串转换为浮点数

来自分类Dev

检查字符串是否为浮点数

来自分类Dev

熊猫多索引将浮点数更改为字符串

来自分类Dev

将熊猫数据框列从带逗号的字符串转换为带点浮点数时出错

来自分类Dev

将字符串转换为数字(根据输入的变量为浮点数或整数)

来自分类Dev

熊猫Python错误:无法将字符串转换为浮点数

来自分类Dev

如何将字符串解析为变量/函数/浮点数/整数赋值/值?

来自分类Dev

从字符串创建浮点数

来自分类Dev

phpunit和浮点数存储为字符串

来自分类Dev

解析浮点数的字符串

来自分类Dev

Bash将字符串解析为浮点数数组

来自分类Dev

如何停止试图将字符串转换为浮点数的熊猫?

来自分类Dev

将十六进制字符串中的负数解码为浮点数?

来自分类Dev

将长度为20的字符串转换为长度为20的浮点数

来自分类Dev

如何将输入字符串打印为浮点数(1 到 1.0)python

来自分类Dev

无法将字符串转换为浮点数

来自分类Dev

将字符串解析为浮点数

Related 相关文章

热门标签

归档