我有一个像这样的初始 DataFrame:
d = pd.DataFrame({"value":(None,)})
如果我在其上使用 pd.concat
,生成的 DataFrame 会将 None
转换为 NaN
:
In [14]: pd.concat([d], axis=0, ignore_index=True)
Out[14]:
value
0 NaN
如果我有一个包含混合文本/None
的 DataFrame,则不会发生这种情况:
In [15]: d2 = pd.DataFrame({"value":("a", None)})
In [16]: pd.concat([d2], axis=0, ignore_index=True)
Out[16]:
value
0 a
1 None
我无法理解这种行为。这是一个错误,还是背后有一些特殊的原因?
最佳答案
我认为这是一个错误。解决方法如下:
import numpy as np
...
d2 = d2.apply(lambda v: v if v is not None else np.nan)
关于python - concat : bug or intentional behavior? 后 Pandas None 到 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35138903/