astype 使用 ValueError 时会引发 dict of columns

我正在尝试在大 DF 中转换稀疏列的类型(从浮点数到整数)。我的问题是 NaN 值。即使 errors 参数设置为 'ignore' ,在使用列字典时也不会忽略它们。

这是一个玩具示例:

t=pd.DataFrame([[1.01,2],[3.01, 10], [np.NaN,20]])
t.astype({0: int}, errors='ignore')

最佳答案

您可以在 pandas 0.24.0+ 中使用新的 nullable integer dtype。在使用 astype 之前,您首先需要将任何不完全等于整数的浮点数转换为等于整数值(例如舍入、截断等):

In [1]: import numpy as np; import pandas as pd; pd.__version__
Out[1]: '0.24.2'

In [2]: t = pd.DataFrame([[1.01, 2],[3.01, 10], [np.NaN, 20]])

In [3]: t.round().astype('Int64')
Out[3]:
     0   1
0    1   2
1    3  10
2  NaN  20

关于python - DataFrame.astype() 错误参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56169473/

10-12 14:19