我有一个从SQL表中选择的数据框,看起来像这样
id shares_float
0 1 621.76M
1 2 329.51M
换句话说,
[(1, '621.76M'), (2, '329.51M')]
我希望将shares_float进行拆分,如果它是'B',则乘以10亿,如果是'M',则乘以100万,如果既不是这两者,也没有尾随字符,就转换并分配该数字。
结果应该是浮点类型。
ticker_id shares_float float_value
0 1 621.76M 621760000.00
1 2 3.51B 3510000000.00
我刚接触pandas。是否有一种使用pandas的方法?或者我应该将数据转换为列表,在循环中进行操作,然后将其转换回pandas DataFrame?
注释添加: 答案非常好!谢谢。 顺便问一下,这个函数是如何工作的?
1e6
而不是10e6
;同样地,10e9
是十亿。 - behzad.nouri0
我很抱歉。eval
基本上会运行提供给它的字符串作为python
代码。 - CT Zhu