Python3中pandas DataFrame中的2个整数列除法返回四舍五入的整数,而不是浮点值



我有以下Panda DataFrame:

df = pd.DataFrame({"id": [1, 2, 3],
"A": [54, 53, 50],
"B": [52, 49, 46]})

现在我想要一个新的列C,它是将列B中的值除以列A中的值的结果。然而,当我运行时:

df["C"] =  df["B"] / df["A"]

结果是:

id  A   B   C
0   1   54  52  1
1   2   53  49  1
2   3   50  46  1

列C似乎自动四舍五入为一个整数,这是不应该发生的。我读过其他一些Stack Overflow的文章,其中说在Python3(我正在使用(中,到float的转换应该自动发生。从另一个帖子我尝试了这个:

df["C"] =  df["B"] * 1.00 / df["A"]

但这仍然给出了同样错误的结果。如何解决这个问题?

试试。-

df["C"] = df.A.astype(float) / df.B.astype(float)

问题是我设置了

pd.options.display.float_format = '{:,.0f}'.format

但评论出来了,并认为这会解决问题。相反,将其更改为:

pd.options.display.float_format = None

解决了问题