Skip to main content
 首页 » 编程设计

python之将带有 python 单位的数字转换为非人类可读格式

2025年05月04日31虾米姐

转换包含 float AND unit 的数字列的最佳方法是什么:

df = pd.DataFrame(["211.301 MB","435.5 GB","345.234 Bytes"]) 

例如以字节为单位的预期输出:

211.301*1024*1024 = 221565157.376 

很多这样的问题: Reusable library to get human readable version of file size?

展示了相反的方法:将数字转换为人类可读的。如何将人类可读转换为 float ?

有没有比拆分更有效的方法:

spl = pd.DataFrame(dataf['Total_Image_File_Size'].str.split(' ',expand=True)) 

然后用多个 if 解析单位列?

谢谢

请您参考如下方法:

我认为这个应该有效:https://pypi.python.org/pypi/humanfriendly

>>> import humanfriendly 
>>> user_input = raw_input("Enter a readable file size: ") 
Enter a readable file size: 16G 
>>> num_bytes = humanfriendly.parse_size(user_input) 
>>> print num_bytes 
17179869184 
>>> print "You entered:", humanfriendly.format_size(num_bytes) 
You entered: 16 GB