我觉得必须有一个快速的解决方案来解决我的问题,我使用多个列表理解破解了一个实施不佳的解决方案,这无论如何都不理想。也许有人可以在这里帮忙。
我有一组字符串值(例如 3.2B、1.5M、1.1T),其中最后一个字符自然表示百万、十亿、万亿。该集合中还有 NaN/'none' 值,应保持不变。我希望将它们转换为浮点数或整数,因此在给定的示例中 (3200000000, 1500000, 1100000000000)
TIA
您可以创建一个函数:和applymap http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.applymap.html#pandas.DataFrame.applymap它到数据框中的每个条目:
powers = {'B': 10 ** 9, 'M': 10 ** 6, 'T': 10 ** 12}
# add some more to powers as necessary
def f(s):
try:
power = s[-1]
return int(s[:-1]) * powers[power]
except TypeError:
return s
df.applymap(f)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)