我的 df 中有一个列“Vol”,其中的值以 K 和 M 结尾,分别表示数千和数百万,这些值是 dtype 中的“对象”,我需要将它们转换为“双精度”。
Example for the column what I need it to look like
Vol Result
920.81K 920810
1.28M 1200000
2.19M 2190000
443.66K 443660
682.81K 682810
有几种方法可以做到这一点。我最喜欢的是使用replace
and pd.eval
。假设“Vol”是字符串列,您可以执行以下操作:
df['Vol'].replace({'K': '*1e3', 'M': '*1e6'}, regex=True).map(pd.eval)
0 920810.0
1 1280000.0
2 2190000.0
3 443660.0
4 682810.0
Name: Vol, dtype: float64
根据您需要支持的数量级,您可以根据需要修改替换字典。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)