如何强迫熊猫将数字读作"int64"而不是"float64"



我有一个问题,我编写的所有遗留代码都不再有效。

我让熊猫读取一个 Excel 文件,而不是读取为 int64,它现在读取为 float64。 这是一个问题,因为我无法对不同的数据类型执行 .merge 或 .isin。 我知道我可以使用df.blah.astype(int),但这重构非常不方便,似乎没有必要。

我不确定是什么原因造成的。 我正在开发Windows 10,Python 3.5和Pandas 18.1的新版本。 所有改变只是从Windows 7和Pandas 18.0升级。

熊猫有什么变化吗? 我在发行说明中找不到任何更改。

感谢您的任何帮助!

我认为在有问题的列中int值是一些NaN.因此,pandas自动将int转换为float

纳型促销。

您可以通过isnullboolean indexing来检查值:

import pandas as pd
import numpy as np
df = pd.DataFrame({'A':[1,2,np.nan],
'B':[4,5,6]})
print (df)
A  B
0  1.0  4
1  2.0  5
2  NaN  6
print (df[df.A.isnull()])
A  B
2 NaN  6

相关内容

最新更新