使用以下代码,Dollar_Different的结果 应显示0 。它适用于除以下3条之外的所有其他行。有什么想法吗?我已经在Excel中手动进行了检查,结果为0。
df['Dollar_Different'] = df['R_Revenue'] - df['S_Revenue']
答案 0 :(得分:0)
您确定R_Revenue和S_Revenue正是这些值并且不会被截断为2个小数吗?您可以先尝试使用https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.round.html进行四舍五入,然后再减去一次,看得出的结果是否为0。
答案 1 :(得分:0)
大概您正在使用浮点类型(默认)。浮点数不能精确表示每个实数。可能两列中的数字实际上稍有不同,但是您只用两位小数显示它们。
在处理财务数据的应用程序中,完全避免了浮点类型,这正是您在此处看到的原因。还有其他数据类型,用于正确准确地表示小数。但是IIRC熊猫不支持其中任何一个。
您可以使用的一种简单的变通方法是将收入数量表示为整数:一个整数字段代表以美分表示的总量,或者两个字段,一个用于美元,另一个用于美分。 / p>
答案 2 :(得分:0)
我将源数据类型更改为整数,并且现在所有内容都匹配。