如何解决求和具有不同字节值的列的最佳方法是什么? M,G,K
我有一个带有“ DiskWrite”列的数据集。有字节值,例如M,G和K。我需要创建此列的总和,以后再用它创建图。我只关心准确地求和这些值。我尝试为单位创建一个单独的列,但距离还很远。
**DiskWrite**
31.77M
6301.45M
1.50G
稍后我将像这样按月对这些值进行分组(创建随机值),不需要帮助,仅需要对^以上的总和进行帮助:
Start Sum
10/19 12.54G
11/19 34.322G
谢谢!
解决方法
您可以将它们全部转换为一个单位。我建议使用最小的单位。我想你的问题是Kb。所以检查一下:
sla = obj.sla
from pandas import DataFrame
data = {"DiskWrite": ['31.77M','6301.45M','1.50G']}
df = DataFrame(data)
K,M,G = [],[],[] # to separate all units
for i in df['DiskWrite']:
if i[-1] == 'K':
K.append(float(i[:-1]))
elif i[-1] == 'M':
M.append(float(i[:-1]))
elif i[-1] == 'G':
G.append(float(i[:-1]))
for i in M: # to convert MegaBytes numbers to KiloBytes
M[M.index(i)] = i * 1000
for i in G: # to convert GigaBytes numbers to KiloBytes
G[G.index(i)] = i * 1000000
sum_ = sum(K + M + G) # now you have the sum of all numbers by KiloBytes unit.
如果您想要以千兆字节为单位的总和,则可以使用>>> print(sum_)
#answer:
7833220.0
再次转换sum_
或更改两个sum_ / 1000000
循环以将兆字节和千字节转换为千兆字节来编写代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。