我遇到的问题是,我编写的所有遗留代码都不再有效。
我有pandas读取Excel文件,而不是读取为int64,它现在读取为float64。这是一个问题,因为我无法在不同的数据类型上执行.merge或.isin。我知道我可以使用df.blah.astype(int),但这对于重构来说非常不方便,而且似乎没有必要。
我不确定是什么造成的。我正在开发Windows 10,Python 3.5和Pandas 18.1的新版本。所有改变都是从Windows 7和Pandas 18.0升级。
熊猫有什么变化吗?我发现发行说明没有任何变化。
感谢您的帮助!
答案 0 :(得分:1)
我认为在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