我有一个问题,我编写的所有遗留代码都不再有效。
我让熊猫读取一个 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
。
纳型促销。
您可以通过isnull
boolean 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