繁体   English   中英

pandas DataFrame 不处理小数点数字

[英]pandas DataFrame is not handling decimal point numbers

我正在使用一个数据框,我正在对每个值执行数学运算,将小数除以大数。 这应该给我留下非常小的小数点数字,但我的数据框只是将这些转换为 0。

例如,我将 2577 除以 3022356 得到 0.0008526460814013968,但数据帧中的条目仅为 0。

有什么我可以做的,以便数据框显示正确的值?

我的代码中的示例:

for index, row in data.iterrows():
    for key in row.keys():
        row[key] = float(row[key]) / float(row['total'])

    data.iloc[index] = row

这将遍历每一行,遍历每行中除最后两个之外的所有键。 然后用总计决定每个值。 我根据建议添加了float()但放回数据中的值只是 0 而不是正确的值。

您可以将分子和分数设置为浮点数以确保转换正确,因此它将是 float(2577)/float(3022356)。

这是代码外观的一个小示例,但在您的 DataFrame 中,您可能希望使用函数 df.loc[(row_index),(column_index)] 从 DataFrame 中调用数字。

number1 = float(2577)
number2 = float(3022356)

answer = number1/number2

print(answer)

你也可以试试这个

x = df.loc[row,column]
flo = float(x)
x = "{0:.10f}".format(flo)
#print(x)
df.loc[row,column] = x

这会告诉它格式化为 10 位小数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM