如何创建一个支持Nan/missing值的dtype bool(或int)的pandas dataframe列?在
当我这样做的时候:
d = {'one' : np.ma.MaskedArray([True, False, True, True], mask = [0,0,1,0]),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print (df.dtypes)
print (df)
列one
隐式转换为object。类似于ints
:
one
在这里隐式转换为float64
,我更希望我留在int
域中,不处理浮点运算及其特性(在比较时总是有容差,舍入错误等)
在整数情况下,从pandas 0.24(2019年1月)起,您可以使用nullable integers来实现您想要的:
这是通过将支持数组转换为^{} 来实现的,布尔函数没有等价的东西,但是在this GitHub issue和this PyData talk中讨论了这个方向的一些工作。您也可以编写自己的extension type来覆盖这种情况,但如果您可以接受由整数0和1表示的布尔值,则可以使用以下方法:
^{pr2}$相关问题 更多 >
编程相关推荐